Shell命令迭代文本文件的每一行

时间:2013-08-02 18:53:25

标签: shell

我正在尝试在当前目录中运行ack,关键字是文本文件的每一行,我在命令行上尝试了以下命令:

cat ~/temp/imageFileNames.txt | while read line; do ack "$line"; done

然而,根本没有产生任何输出,即使我在手动上运行ack时每条线都单独产生输出。 这个命令有什么问题?

1 个答案:

答案 0 :(得分:1)

ack逐行处理整个文件。为此,只需:

ack "$line" ~/temp/imageFileNames.txt

它应该打印出所有包含你为“$ line”放置的内容的行。检查文档以获得比我可以提供的更好的使用说明:http://linux.die.net/man/1/ack