我正在尝试找出一种方法,当他们遇到带有awk的 if 标准/条件时,将一堆文件移动到子目录中。你知道怎么做吗?
for f in *.txt; do awk '{if ( $1 == "rainbow" && $3 == "unicorn" && $4 == "murder" && $5 == "vampire") print FILENAME}' $f; done
而不是打印文件名,我希望我的代码将文件移动到某个目录。
由于
答案 0 :(得分:4)
或者,如果你替换
,你可以让awk为你做这件事print FILENAME
与
system("mv " FILENAME " " OtherDirectory)
答案 1 :(得分:0)
在命令结束后直接添加以下内容:
| while read f; do mv "$f" SomeOtherDirectory; done
最初,您可能希望将“mv”更改为“echo”以查看命令在实际执行之前将执行的操作。