Awk:在满足特定条件时移动文件

时间:2013-11-15 10:20:02

标签: file awk conditional-statements move

我正在尝试找出一种方法,当他们遇到带有awk的 if 标准/条件时,将一堆文件移动到子目录中。你知道怎么做吗?

 for f in *.txt; do awk '{if ( $1 == "rainbow" && $3 == "unicorn" && $4 == "murder" && $5 == "vampire") print FILENAME}' $f; done

而不是打印文件名,我希望我的代码将文件移动到某个目录。

由于

2 个答案:

答案 0 :(得分:4)

或者,如果你替换

,你可以让awk为你做这件事
print FILENAME

system("mv " FILENAME " " OtherDirectory)

答案 1 :(得分:0)

在命令结束后直接添加以下内容:

| while read f; do mv "$f" SomeOtherDirectory; done

最初,您可能希望将“mv”更改为“echo”以查看命令在实际执行之前将执行的操作。