0

私がやりたいことは十分に単純だと思いますが、私はシェルスクリプトの初心者なので、助けていただければ幸いです。

質問: さまざまなファイル タイプ (「.jpg」、「.psd」、「.png」など) のファイルのフォルダがあり、これらのファイルをサブディレクトリに整理する必要があります。各ファイルのファイル名は、同じ規則に従います: 「number_name.extension」。複数のファイルが同じ「数値」値を共有しています。スクリプトで実行したいのは、「数値」値を持つフォルダーを作成し (まだ存在しない場合)、同じ「数値」値を持つすべてのファイルを上記のフォルダーに移動することです。ファイルの種類/拡張子に関係なく、フォルダー。

これがボーンで可能であることは知っていますが、頭を悩ませています。同様のスレッドを検索しましたが、質問のすべての条件を満たすものはないようです。どんな援助でも大歓迎です!

4

1 に答える 1

0

どうですか:

for f in *; do mkdir -p ${f%%_*}; mv $f ${f%%_*}; done

それは完全なファイル名を保持しますが、おそらく数字をトリムしたいでしょう:

for f in *; do 
  dir=${f%%_*}
  mkdir -p $dir
  mv $f $dir/${f#*_} 
done
于 2013-03-19T17:00:14.403 に答える