0

たとえば、次のファイルがあります。

/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

それらをすべて集めて、1つのディレクトリに別の名前で保存したいので、次のようになります。

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

私は知っfindていて、この仕事をするのに役立つかもしれませんが、ディレクトリ名に従ってステップxargsを実行する方法がわかりません。rename

誰かがこれについてアイデアを持っていますか? ありがとう!

4

2 に答える 2

0
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
于 2012-11-24T13:15:25.653 に答える
0

これはどう:

[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}'
于 2012-11-24T07:40:08.093 に答える