次のようなファイルがあるとします:
93162-117352 - May 24, 2017 345 PM_16_163_student.csv
名前を次のように変更します:
16_163_student.csv
名前変更でこれを実行するにはどうすればよいですか?
答え1
ファイル名の最初の までのすべてを削除します_
。これは、「ファイル名を一貫して変更する「
私の解決策は次のようになります (POSIX シェルを想定bash
)。
for name in *.csv; do
mv -i -- "$name" "${name#*_}"
done
は、名前の${name#*_}
最初の文字までのすべてを削除します。_
これは、作業するファイルがすべてパターンに一致することを前提としています*.csv
。
を追加した-i
ので、ファイルが失われる場合(たとえば、A_x.csv
と の両方がある場合B_x.csv
)に中止するオプションが表示されます。