Grep:空字节问题



我在bash脚本中有以下命令。

GREP_RESULT=$(grep -zoP ".global LIST(.|n)*-1Z" part1.s)

我得到以下错误。

warning: command substitution: ignored null byte in input

我尝试了这个帖子中提出的解决方案,将其更改为以下内容。

GREP_RESULT=$(tr -d '' < grep -zoP ".global LIST(.|n)*-1Z" part1.s)

这反过来又会导致以下错误。

grep: No such file or directory

解决第一个错误的正确方法是什么?

更新:

来自OP的注释:grep -z正在流的末尾添加

因此,需要修改grep输出(而不是修改输入文件(的情况:

grep -zoP ".global LIST(.|n)*-1Z" part1.s | tr -d ''

原始答案。。。

首先将tr应用于数据文件;几种变体:

grep -zoP ".global LIST(.|n)*-1Z" <(tr -d '' < part1.s)
# or 
tr -d '' < part1.s | grep -zoP ".global LIST(.|n)*-1Z"

最新更新