forループを使用せずに1つのコマンドラインから現在のディレクトリにプレフィックスを追加してcpファイルをバッチ処理して名前を変更するにはどうすればよいですか?

forループを使用せずに1つのコマンドラインから現在のディレクトリにプレフィックスを追加してcpファイルをバッチ処理して名前を変更するにはどうすればよいですか?

例:

.
├── f1.md
├── f2.md
├── f3.md
├── f4.txt
├── f5.csv
├── f6.doc
├── s1
├── s2
├── s3
└── s4

4 directories, 6 files

f1.md/f2.md/f3.md現在のディレクトリにコピーしようとしていますが、結果はですt-f1.md/t-f2.md/t-f3.mdt-

試してみてください:

for file in *md;do cp -a $file t-$file;done結果は得られますが、ループを使用すると非常に長く見えますfor。同じ結果を得るために短くて簡単なコマンドがあればいいと思いました。

ベストアンサー1

GNUを使った最短経路parallel:

parallel --no-notice 'cp "{}" "t-{}"' ::: *.md

https://www.gnu.org/software/parallel/parallel_tutorial.html

おすすめ記事