1
"*.data.done"
という名前のファイルがあるとします。 (動作していないbashのxargs {}から文字を取り除く
grep -l -R -F "pattern" --include '*.data.done' * | xargs -I{} mv {} ${{}::-5}
まあ、「の.done」は、このストリッピングを:今、私は戻って私たちが行くので、ここ"pattern"
を含む「* .DATA」、その後のものに(再帰的に)それらの名前を変更したいですbash 4.3.11):
bash: ${{}::-5}: bad substitution
これを最も簡単に行うにはどうすればよいですか?
私は小さなスクリプトを作成したい: '内のファイルのために"$ @"; mv "$ file" "$ {file%.done}"を実行します。 'moveit.sh'ファイルで' done'を実行してから 'xargs sh moveit.sh'を実行してください。シンプルで、 'moveit.sh'ファイルをクリーンアップするのは大きなオーバーヘッドではありません。 –
'{}'はシェル変数ではありません。シェル変数の拡張はできません。 – 123