ファイル名の先頭の文字を特定パターンまで削除する

ファイル名の先頭の文字を特定パターンまで削除する

次のようなファイルがあるとします: 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)に中止するオプションが表示されます。

関連情報