ディレクトリとサブディレクトリの複数のファイルを別々のディレクトリにコピーする1行のソリューションを取得しようとしましたが、次のような結果が得られました。
find source/ -type f | xargs -I '{}' cp -a --backup=t '{}' destination/
ファイルをコピーして重複したファイル名を処理するだけではほとんどうまく機能しますが、cpコマンドのサフィックスを拡張子の前に置く方法があるかどうか疑問に思います。 2つのファイルの名前が同じでコピーすると、次の結果が表示されます。
file.txt
file.txt~1~
可能であれば、代わりにgetを使用したり、file~1~.txt
他の区切り文字を使用したいと思います。file(1).txt
file-1.txt
拡張する前に、コマンドは区切りcp
文字が一致するかどうかを確認しないため、混乱する可能性があり、その結果、次のような結果が発生します。file~1~~1~~1~.txt
しかし、誰でも簡単な解決策があれば良いでしょう。これで、グローバルコマンドを介してバッチの名前変更を実行しls
ます。vim
!sh