【发布时间】:2020-05-27 09:25:22
【问题描述】:
我正在尝试编写一个获取用户输入的 bash 脚本,检查包含该输入的行的 .txt,然后将其插入 wget 语句以开始下载。
在测试功能时,awk 似乎打印出每一行,而不仅仅是模式匹配的行。
chosen=DSC01985
awk -v c="$chosen" 'BEGIN {FS="/"; /c/}
{print $8, "found", c}
END{print " done"}' ./imgLink.txt
以上内容应取自 imgLink.txt,搜索模式并返回找到模式。相反,它会打印文件中每一行的第 8 个字段。
我尝试将 /c/ 从 begin 语句中移出,但无济于事。
这是怎么回事?
示例输入:
https://xxxx/xxxx/xxxx/xxxx/xxx/DSC01533.jpg
https://xxxx/xxxx/xxxx/xxxx/xxx/DSC01536.jpg
https://xxxx/xxxx/xxxx/xxxx/xxx/DSC01543.jpg
https://xxxx/xxxx/xxxx/xxxx/xxx/DSC01558.jpg
https://xxxx/xxxx/xxxx/xxxx/xxx/DSC01565.jpg 等等
示例输出:
...
找到DSC02028.jpg DSC01985
找到DSC02030.jpg DSC01985
找到DSC02032.jpg DSC01985
找到DSC02038.jpg DSC01985
找到 DSC02042.jpg DSC01985 等等
【问题讨论】:
-
欢迎来到 SO 并特别感谢您在问题中表现出的努力。请在您的问题中发布输入示例和预期示例输出以便更好地理解,请编辑您的问题并让我们知道。
-
问题友好编辑,如果您需要任何进一步的信息,很乐意提供帮助