本文介绍了如何将输出从grep传递到cp?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个有效的grep命令,该命令选择满足特定条件的文件.如何从grep命令中获取所选文件并将其通过管道传输到cp命令中?

I have a working grep command that selects files meeting a certain condition. How can I take the selected files from the grep command and pipe it into a cp command?

cp端的以下尝试失败:

grep -r "TWL" --exclude=*.csv* | cp ~/data/lidar/tmp-ajp2/


cp `grep -r "TWL" --exclude=*.csv*` ~/data/lidar/tmp-ajp2/

推荐答案

grep -l -r "TWL" --exclude=*.csv* | xargs cp -t ~/data/lidar/tmp-ajp2/

说明:

  • grep -l选项仅输出文件名
  • xargs将文件列表从标准输入转换为命令行参数
  • cp -t选项以指定目标目录(并避免使用占位符)
  • grep -l option to output file names only
  • xargs to convert file list from the standard input to command line arguments
  • cp -t option to specify target directory (and avoid using placeholders)

这篇关于如何将输出从grep传递到cp?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 23:41
查看更多