【问题标题】:How to collect all README files and rename them in a folder?如何收集所有 README 文件并在文件夹中重命名它们?
【发布时间】:2012-11-24 07:35:56
【问题描述】:

例如,我有这些文件:

/Applications/Emacs.app/Contents/Resources/etc/images/custom/README
/Applications/Emacs.app/Contents/Resources/etc/images/ezimage/README
/Applications/Emacs.app/Contents/Resources/etc/images/gnus/README
/Applications/Emacs.app/Contents/Resources/etc/images/gud/README
/Applications/Emacs.app/Contents/Resources/etc/images/icons/README

我想把它们全部收集起来,用不同的名字保存在一个目录中,所以它们变成了这样:

/dest/custom_README
/dest/ezimage_README
/dest/gnus_README
/dest/gud_README
/dest/icons_README

我知道findxargs 可能对完成这项工作有用,但不知道如何根据其目录名称执行rename 步骤。

有人对此有想法吗?谢谢!

【问题讨论】:

    标签: linux shell unix find xargs


    【解决方案1】:
    find /Applications/Emacs.app/Contents/Resources/etc/images -name README |
    while IFS= read -r filename; do
        cp -v "$filename" /dest/"$(basename "$(dirname "$filename")")_README"
    done
    

    【讨论】:

      【解决方案2】:

      这个怎么样:

      [cnicutar@fresh ~]$ sed -r <file 's|.*images/(.*)/(.*)|\1_\2|g'
      custom_README
      ezimage_README
      gnus_README
      gud_README
      icons_README
      

      或者使用awk:

      awk < file -F'/' '{print $(NF-1)"_"$NF}'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-15
        • 2012-08-02
        • 2018-04-17
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        相关资源
        最近更新 更多