2011-08-04 8 views
0

非常に似た名前の非常に多数のファイルがあります:row1col1.txt、row1col2.txt、row1col3.txt、row1col4.txt .. ....シェルスクリプトを使用してファイル名を少し変更してコピーします。

私はrow2col2.txt、 row2col3、TXT、row2col4.txt、row2col1.txtするためにそれらのすべてのコピーを作成し、名前を変更したい

......

使い方シェルスクリプト内のcpコマンドは、どのように効率的に行うことができますか?

+1

あなたは*必ず*行番号をインクリメントしたいわけですか?または、*行番号をインクリメントするだけですか?列番号をインクリメントする必要がありますか?これは良い例ですが、正確に何を望んでいるかをもう少し明確にすることができれば、それはあなたのレスポンダーを導くのに役立ちます。 –

+0

私はこれらのファイルをそのまま使用してファイル名を受け入れるようにしたいと思っています – Bohemian

答えて

1

どのようにファイル名を生成しますか?あなたはどのように置換を指定しようとしていますか?

一つの可能​​性である:

ls row1col*.txt | 
sed 's/row1\(.*\)/cp & row2\1/' | 
sh -x 

これは、名前のリストを生成するlsを使用し、sedそれぞれの名前のファイルをcpコマンドを生成し、そしてshへのパイプそのコピーの操作が行われるように。残りの部分が正しいと確信するまで、shに実行しないでください。

+0

ありがとう –

0

あなたはパケットmmvに含まれるプログラムmcpを使用する場合は、あなたがこのようなことを行うことができます。

mcp row1\* row2\#1 
関連する問題