複数のファイルのベースアドレス(拡張子ではない)の最後の10文字を変更します。

複数のファイルのベースアドレス(拡張子ではない)の最後の10文字を変更します。

長さは異なりますが、拡張子は同じファイルが多く、すべてのファイルの名前を一度に変更するために多くのコマンドを試しました。

すべてのファイル名の最後の10文字だけを変更できますか?最後の10文字は常に同じです。

たとえば、

img(12345678).txt
test(12345678).txt 
download(12345678).txt
upload(12345678).txt

(12345678)私はに交換したいabcdefghij

ベストアンサー1

renameディストリビューションには通常、2 つの Linux コマンドが使用されます。私はより強力なので、Perlベースの名前変更を好む。使用しているものを確認できます$ prename --version

Perlベースの名前変更がある場合

$ rename --version
perl-rename 1.9
$ rename 's/\(12345678\)/abcdefghij/' *.txt

-n最初にテスト実行として確認するには、このフラグを使用してください。

別の名前に変更した場合

$ rename --version
rename from util-linux 2.26.2
$ rename '(12345678)' abcdefghij *.txt

.txt通常、前の最後の10文字を削除します。

文字が常に同じでない場合は、通常の場合に使用できます。

Perlベースの名前変更の場合

rename 's/.{10}\.txt\Z/abcdefghij.txt/' *.txt -n

他の名前変更の場合は、可能かどうかはわかりません。

おすすめ記事