非常に似た名前の非常に多数のファイルがあります:row1col1.txt、row1col2.txt、row1col3.txt、row1col4.txt .. ....シェルスクリプトを使用してファイル名を少し変更してコピーします。
私はrow2col2.txt、 row2col3、TXT、row2col4.txt、row2col1.txtするためにそれらのすべてのコピーを作成し、名前を変更したい......
使い方シェルスクリプト内のcpコマンドは、どのように効率的に行うことができますか?
非常に似た名前の非常に多数のファイルがあります:row1col1.txt、row1col2.txt、row1col3.txt、row1col4.txt .. ....シェルスクリプトを使用してファイル名を少し変更してコピーします。
私はrow2col2.txt、 row2col3、TXT、row2col4.txt、row2col1.txtするためにそれらのすべてのコピーを作成し、名前を変更したい......
使い方シェルスクリプト内のcpコマンドは、どのように効率的に行うことができますか?
どのようにファイル名を生成しますか?あなたはどのように置換を指定しようとしていますか?
一つの可能性である:
ls row1col*.txt |
sed 's/row1\(.*\)/cp & row2\1/' |
sh -x
これは、名前のリストを生成するls
を使用し、sed
それぞれの名前のファイルをcp
コマンドを生成し、そしてsh
へのパイプそのコピーの操作が行われるように。残りの部分が正しいと確信するまで、sh
に実行しないでください。
ありがとう –
あなたはパケットmmv
に含まれるプログラムmcp
を使用する場合は、あなたがこのようなことを行うことができます。
mcp row1\* row2\#1
あなたは*必ず*行番号をインクリメントしたいわけですか?または、*行番号をインクリメントするだけですか?列番号をインクリメントする必要がありますか?これは良い例ですが、正確に何を望んでいるかをもう少し明確にすることができれば、それはあなたのレスポンダーを導くのに役立ちます。 –
私はこれらのファイルをそのまま使用してファイル名を受け入れるようにしたいと思っています – Bohemian