ファイル名の変更

ファイル名の変更

1000個のファイルがあるとしましょう file1.txtfile1000.txt

数字が10で割られたら、ファイル名を変更する必要があります。

このようにしましたが、最初の文字だけが変わりました。

for f in *.txt; do mv -- "$f" "${f%.txt}.doc"; done

ベストアンサー1

@Henrik supports the communityさんのコメントはとても適切です。また、私はいつも印刷コマンドを実行して、そのコマンドを再確認してください。これは組み込みの「テスト実行」機能を提供します。 もしコマンドが正しく表示された後にスクリプトを再実行して出力をshOTOHにパイプすると、コマンドが正しくなくても破損しません。

for f in *0.txt
do
    printf 'mv -- %q %q\n' "$f" "${f%.txt}.doc"
done

printfの指令をより安全に使用することを提案したStéphane Chazelasに感謝します%q

おすすめ記事