我有一个有效的 grep
命令可以选择满足特定条件的文件。如何从 grep
命令中获取选定的文件并将其通过管道传输到 cp
命令中?
以下尝试在 cp
端失败:
grep -r "TWL" --exclude=*.csv* | cp ~/data/lidar/tmp-ajp2/
cp: missing destination file operand after ‘/home/ubuntu/data/lidar/tmp-ajp2/’ Try 'cp --help' for more information.
cp `grep -r "TWL" --exclude=*.csv*` ~/data/lidar/tmp-ajp2/
cp: invalid option -- '7'
最佳答案
grep -l -r "TWL" --exclude=*.csv* | xargs cp -t ~/data/lidar/tmp-ajp2/
解释:
- grep
-l
仅输出文件名的选项 - xargs 将文件列表从标准输入转换为命令行参数
- cp
-t
指定目标目录的选项(并避免使用占位符)
关于linux - 如何将 grep 的输出通过管道传输到 cp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140583/