すべての* .aファイルの名前をカレントディレクトリとサブディレクトリの* .a.bに変更したいだけですが、シェルスクリプトでどのように行うのですか?bash shell:ファイルの名前を変更する方法
答えて
find . -type f -name '*.a' -print0 | xargs -0 -IZZ mv ZZ ZZ.b
:(ファイル用などまたは使用*
、*/*
、*/*/*
、*/*/*/*
、)
<files>
の名前をrename 's/\.a$/.a.b/' <files>
に変更します。これを再帰的に行うと、ちょっとループが掛かります。これは、スペースおよび/または改行を含むファイル名を処理する必要があり
for file in `find . -name '*.a'`; do mv $file $file.b; done
以下のスクリプトを試してみてください。また、ディレクトリの名前を変更しません(findを実行する他の解決策もあります)。あなたはそれが大文字と小文字を区別しないようにしたい場合は、代わりに "-name"
を使用していますが、それは正しくファイル名にスペースや改行を処理しません - あなたは-print0とxargsのを使用しようとする場合があります - 0を代わりに使用します。 – George
または:を見つける。 -name '* .a' |一方、-r xを読み込みます。 mv "$ x" "$ x.b"を実行します。 done –
ルビー(1.9+)シェルスクリプト(少なくともバッシュ4)
で$ ruby -e 'Dir["**/*.a"].each{|x|File.file?x && File.rename(x,"#{x}.b")}'
の "-iname" を使用
shopt -s globstar
shopt -s nullglob
for file in **/*.a
do
echo mv "${file}" "${file}.b"
done
申し訳ありませんが、私のブラウザは以前は別の答えを表示していたようです。私が今見ているバージョンは間違いなく再帰的です。これはまた素晴らしい解決策のようです! –
- 1. LinuxのBashの名前の変更ファイル
- 2. Bashのファイルの名前の変更
- 3. ファイルの名前を別のファイルの名前に変更し、拡張子を維持する[SHELL]
- 4. 番号付きファイル名でbashでファイルの名前を変更
- 5. ファイルとフォルダの名前を変更する方法
- 6. ファイルの名前を変更するためのBashスクリプト
- 7. サフィックス付きのファイルの名前を変更するBashスクリプト
- 8. 複数のファイル名をbashシェルの名前に変更
- 9. ファイルをサブディレクトリに名前を変更するBashスクリプト - ファイル名に基づいて
- 10. Bashループスルーフォルダーと名前を変更するファイル
- 11. bashのフォルダ、ファイル、サブフォルダの名前を変更
- 12. Bash - ファイル名変数を変更してファイル名を変更する
- 13. CompositeRollingAppenderがファイルの名前を変更する方法を変更する
- 14. Perlを使ってファイルの名前を変更する方法
- 15. vfatのコピー中にファイルの名前を変更する方法
- 16. 前のコミットのファイル名を変更する方法
- 17. numpyファイルのリストの名前を変更する方法は?
- 18. ルビーのファイルの名前を変更する方法
- 19. Bash - データベース値から再帰的にファイルの名前を変更
- 20. "patch:****ファイルの名前を変更できません" bash patch error
- 21. Pythonでファイルの名前を変更する方法は?
- 22. ファイルの名前を変更する方法は?
- 23. couchdb、添付ファイルの名前を変更する方法
- 24. アップロードしたファイルの名前を変更する方法は?
- 25. 名前の変更からファイルを復元する方法
- 26. VB.NETでファイルの名前を変更する方法
- 27. Python:Pythonでファイルの名前を変更する方法は?
- 28. 名前空間の名前を変更する方法は?
- 29. 変数の値をbashで名前で印刷する方法
- 30. 複数のファイルの名前を変更してbashにカウンタを追加する
bashの4場合は、 'shopt -s globstar'と'申し訳ありません** ' –