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

AIX 6.x下find结合外部命令与管道查找含指定模式HL7文件的方法

AIX 6.x下find单行处理HL7文件的方案

原命令失效原因

你之前执行的命令失效是因为管道符|会被当前shell优先解析,不会作为-exec参数的一部分传递给find,实际执行逻辑变成了「find的输出直接传给grep」,和预期的每个文件转码后再匹配的逻辑不符。

正确单行命令

find . -type f -name "*.hl7" -exec sh -c 'hlcat "$1" | grep -q "pattern" && echo "$1"' _ {} \;

命令说明

  • 通过sh -c将转码+匹配的逻辑封装为子shell任务,管道符会在子shell内正常执行,不会被父shell提前解析
  • 匹配到的文件名通过{}作为$1参数传给子shell,$1外层加双引号,完全兼容包含括号、空格等特殊字符的文件名,不需要额外处理转义
  • 用grep -q做静默匹配,匹配成功后返回状态码0,触发&&后的逻辑输出对应文件名,效果和你预期的grep -l完全一致

注意事项

所有符号请使用英文半角格式,不要使用中文全角的引号、括号,避免执行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:36:00