awk:当文件满足特定条件时移动文件
Posted
技术标签:
【中文标题】awk:当文件满足特定条件时移动文件【英文标题】:Awk: move files when they meet a certain criterion 【发布时间】:2013-11-28 16:58:25 【问题描述】:我正在尝试找出一种方法,当它们满足 awk 的 if 标准/条件时将一堆文件移动到子目录中。你知道怎么做吗?
for f in *.txt; do awk 'if ( $1 == "rainbow" && $3 == "unicorn" && $4 == "murder" && $5 == "vampire") print FILENAME' $f; done
我希望我的代码将文件移动到某个目录,而不是打印文件名。
谢谢
【问题讨论】:
我的任何建议对你有用吗?如果是这样,你能接受其中一个作为答案吗? 【参考方案1】:或者你可以让 awk 为你做这件事,如果你替换你的
print FILENAME
与
system("mv " FILENAME " " OtherDirectory)
【讨论】:
【参考方案2】:在命令结束后直接添加以下内容:
| while read f; do mv "$f" SomeOtherDirectory; done
最初,您可能希望将“mv”更改为“echo”,以便在实际执行命令之前查看该命令的作用。
【讨论】:
以上是关于awk:当文件满足特定条件时移动文件的主要内容,如果未能解决你的问题,请参考以下文章