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