【问题标题】:Awk: move files when they meet a certain criterionawk:当文件满足特定条件时移动文件
【发布时间】: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

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

谢谢

【问题讨论】:

  • 我的任何建议对你有用吗?如果是这样,你能接受其中一个作为答案吗?

标签: file awk conditional-statements move


【解决方案1】:

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

print FILENAME

system("mv " FILENAME " " OtherDirectory)

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-11
      • 2016-03-09
      • 1970-01-01
      • 2014-04-09
      相关资源
      最近更新 更多