これは、特定の日付のファイルを検索するときに機能しました:
ls | grep '2018-08-22' | xargs -I '{}' cp '{}' ~/data/lidar/tmp-ajp2/
ファイルを grep で見つかったディレクトリにコピーするには、-printf を使用してディレクトリを出力し、-i を使用して xarg からコマンド引数を配置します (パイプの後)
find ./ -name 'filename.*' -print '%h\n' | xargs -i cp copyFile.txt {}
これにより、「filename」を含むすべてのディレクトリ (./ 内) に copyFile.txt がコピーされます
grep -l -r "TWL" --exclude=*.csv* | xargs cp -t ~/data/lidar/tmp-ajp2/
説明:
- grep
-l
ファイル名のみを出力するオプション - ファイルリストを標準入力からコマンドライン引数に変換する xargs
- cp
-t
ターゲット ディレクトリを指定するオプション (プレースホルダーの使用を避ける)
xargs が必要です プレースホルダー オプション:
grep -r "TWL" --exclude=*.csv* | xargs -I '{}' cp '{}' ~/data/lidar/tmp-ajp2/
通常 xargs
を使用する場合 、出力を after に配置します プレースホルダー付きのコマンド ('{}'
この場合)、挿入する場所を何度でも選択できます。