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:当文件满足特定条件时移动文件的主要内容,如果未能解决你的问题,请参考以下文章

满足特定条件时如何将行写入文本文件

确保 iOS 4 应用程序仅在设备满足特定密码条件时运行

将项目移动到 Outlook 中的文件夹时设置自定义值

情景linux--如何得出一个文件的第二列?

awk 命令

如何删除特定用户上传的文件