質問: ファイル名にテキストを大量に追加する方法は? さまざまな名前の.mdファイルでいっぱいのディレクトリがあるとします。各ファイル名の前に「テキスト」を付加したいとしましょう。したがって、たとえば、ファイルa.md、b.md、およびc.mdは、test - a.md、test - b.md、およびtest - c.mdになります。コマンドラインでこれをどのように達成しますか?
回答: ifs変数を再定義しない限りスペースで失敗するforループを使用する代わりに、whileループをfindと組み合わせて使用することをお勧めします。ファイルと同じディレクトリから実行すると、以下が機能しますfind . -maxdepth 1 -type f -name '*.md' | while read -r file; do file=$(basename $file) mv "$file" "test - $file" done 「basename」行がそこにあるので、findはファイル名のみを出力します-名前の変更操作を中断させるパスコンポーネントはありません。