0

1 から 1000 までの数字で名前が付けられた一連のファイル .csv があります。名前が 1 で始まり、2 桁以下のファイル (例: 1、10、11、12 など) をコピーしたいと考えています。これはどのように行うことができますか?

4

2 に答える 2

2

簡単にできます:

cp 1[0-9].csv /home
cp 1.csv /home

これをfile.shとして保存し 、次のように実行します

$bash file.sh

これにより、すべてのファイルがホームディレクトリにコピーされます

于 2012-09-09T07:00:41.220 に答える
1

常に機能する正しい方法:

find -regex '\./1[0-9]?\.csv' -exec cp {} destination \;

findフル パスを使用するため、先頭の a を一致さ./せる必要があります。次にリテラルが続き、1オプションで ( に注意してください?) 範囲内の文字が続き、0-9最後に拡張子が続きます。すべて.の s は としてエスケープする必要があります\.

一致するファイルごとに、 でfind指定されたコマンドを まで実行し-exec、ファイル名\;に置き換え{}ます。

正しいファイルがキャッチされていることを確認するには、次のようにします。

find -regex '\./1[0-9]?\.csv'

ディレクトリに他の混乱がない場合に機能する、より簡単な方法:

cp 1.csv 1?.csv destination
于 2012-09-09T06:58:46.113 に答える