名前に「エラー」または「トラフィック」を含むファイルを選択する必要があります。
abc_ERRor.csv
raError.csv
bsn_Error.csv
bbbctraffic.csv
ccc_traffic.csv
...
Error_directory
traffic_directory
名前に従ってそのディレクトリに移動します。
試しましたが成功しませんでした。
mv $(ls test_file | grep -l 'Error>' *) Error_directory
コマンドラインでこれを行うにはどうすればよいですか?
ls test_file | grep 'Error'
ベストアンサー1
ls
ファイル名に表示される文字がさまざまなため、出力を解析するのは良い考えではありません。より良い解決策は次のとおりです。
find ./test_file -iname "*error*" -print0 | xargs -0 -I {} mv {} Error_directory
-iname
このオプションに注意してください。これにより、大文字と小文字を区別しない一致が返され、ファイルを検索して移動できます。たとえば、次のようになります。
abc_ERRor.csv
error_123.csv
ErRoR_77.csv
大文字と小文字を区別せずに検索する必要がない場合は、次のように単純なもので十分です。
mv test_file/*Error* Error_directory
追加資料: