You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在目录中查找特定字符串并复制对应文件的命令行问题求助

解决grep筛选文件并复制的两个问题

问题1:路径不存在报错

你命令里的路径~Documents少了斜杠,正确写法是~/Documents——~代表用户主目录,后面必须跟/才能正确解析子路径。另外,grep -r(递归搜索)和/*.txt搭配容易出现shell路径展开问题,建议用--include="*.txt"参数指定只搜索txt文件,避免不必要的错误。

问题2:精准匹配数字后的小写r

需要用正则表达式匹配数字紧跟小写r的模式,用[0-9]r即可(匹配任意单个数字后面的r)。配合grep -E启用扩展正则语法,能让匹配规则更简洁,避免转义字符的麻烦。

修正后的完整命令

grep -l -r -E "[0-9]r" --include="*.txt" ~/Documents/Splicing/revs_POSTr | xargs -I '{}' cp '{}' ~/Documents/Splicing/Misspliced

关键参数说明:

  • -l:只输出匹配到的文件名
  • -r:递归搜索目标目录下的所有文件
  • -E:启用扩展正则表达式,简化匹配规则写法
  • [0-9]r:精准匹配任意数字后面的小写r
  • --include="*.txt":只搜索后缀为txt的文件,减少无效遍历

内容的提问来源于stack exchange,提问作者Birdstrike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:15:29