4

我试图找出一种方法,当它们满足awk的if标准/条件时将一堆文件移动到子目录中。你知道怎么做吗?

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

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

谢谢

4

2 回答 2

6

或者你可以让 awk 为你做这件事,如果你更换你的

print FILENAME

system("mv " FILENAME " " OtherDirectory)
于 2013-11-15T11:53:39.017 回答
0

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

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

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

于 2013-11-15T10:49:08.073 回答