タグ

ブックマーク / www.nemotos.net (1)

  • Linuxでfind, sedを使いながら文字列を再利用してファイル名の途中に文字列を挿入する方法

    Home » Linux » Linuxでfind, sedを使いながら文字列を再利用してファイル名の途中に文字列を挿入する方法 最近、以下のようなことをやる必要がありました。 ファイル名が 201105_ID.jpg 20120608_ID.jpg 20130704_ID.jpg 201409_ID.jpg となっているファイル(年月が必ずあり、日が時についている)に対して、 年の後にアンダースコアを入れたい、つまり、 2011_05_ID.jpg 2012_0608_ID.jpg 2013_0704_ID.jpg 2014_09_ID.jpg としたいわけです。 もし、最初の4文字が全く同一の文字列ならばただ置換すればよいので、全く問題ありません。 たとえば、すべて最初が2011からはじまるのであれば、 renameを使って、 $ find . -name '2011*' | rena

    Linuxでfind, sedを使いながら文字列を再利用してファイル名の途中に文字列を挿入する方法
    katsuren
    katsuren 2015/11/16
    hoge_*.png を fuga_*.png に変える方法。rename はディストリビューションで異なるので、 find . -name 'hoge*' -exec bash -c "mv \`echo {} | sed -e 's/hoge/fuga/'\`" \; でやった。
  • 1