4

こんにちは 正規表現がうまく使えず、一日中インターネットで検索しています。多くの写真を含むフォルダーがあります。

  • 50912000 Bicchiere.jpg
  • 50913714 ソットボッティリア ベルニーニ.jpg

私は Mac OS X を使用していますが、Ubuntu でも試すことができます。bash のスクリプトを作成して、最初のスペースの後のすべての文字を削除し、次のような解決策を得たいと思います。

  • 50912000.jpg
  • 50913714.jpg

フォルダ内のすべてのファイル。どんな助けでも大歓迎です。よろしく

4

4 に答える 4

6

純粋な BASH を使用します。

f='50912000 Bicchiere.jpg'
mv "$f" "${f/ *./.}"

またはfind、一度にすべてのファイルを修正する:

find . -type f -name "* *" -exec bash -c 'f="$1"; s="${f/_ / }"; mv -- "$f" "${s/ *./.}"' _ '{}' \;
于 2013-10-28T18:17:06.790 に答える
2

セッドを使用し、

sed 's/ .*\./\./g'

前のスペースに注意してください.*

于 2013-10-28T18:15:55.987 に答える