文字を挿入して複数のファイルの名前を変更するには?

文字を挿入して複数のファイルの名前を変更するには?

次の形式のファイルがたくさんあります。

sw001
sw002
sw003
...

swと値の間にピリオドを挿入したいです。どうすればいいですか?

答え1

そのファイルがなくrenameダウンロードしないようにするには、次のコマンドを使用します。

for file in sw*; do
    mv "$file" "${file/sw/sw.}"
done

答え2

Linuxの場合:

rename 'sw' 'sw.' sw*

Debian、Ubuntu、およびその派生製品ではrename.ulnot renamerenameこのディストリビューションでは別のファイル名変更コマンド)を使用します。

答え3

変換をPerl正規表現で表現できる場合は、Perlに付属の名前を変更するのが良い選択です。各ファイル名にPerl式を適用し、名前が異なる場合は名前を変更します。通常、Perl正規表現の置換が必要です。

rename 's/sw/sw./' sw*

これは以下に関連しています。名前変更(1)util-linux-ng に付属していますが、通常 Perl のバージョンはデフォルトです。man 1 renameお使いのシステムに何があるかを確認してください。

関連情報