grep 更改分隔符

grep 更改分隔符

有什么方法可以改变使用 grep 的分隔符吗?

我认为,默认情况下,grep 用作\n分隔符。

答案1

在 grep 之前将零分隔符 ('@') 替换为换行符 (\n):

cat 文件 | tr'\00''\n'| grep“搜索字符串”

答案2

如果你只关心输出,tr可能对你有用:

che@nok ~ $ grep cpu /proc/cpuinfo | tr '\n' ';'
cpu family      : 6;cpu MHz             : 800.000;cpu cores     : 2;cpuid level : 10;cpu family : 6;cpu MHz : 800.000;cpu cores      : 2;cpuid level : 10;

答案3

agrep来自亚利桑那大学允许您设置分隔符。它不是 grep 的替代品;它使用不同的算法(近似 grep,可以匹配错误)并且具有不同的模式语法。但它是一个方便的工具。

不幸的是,我认为由于许可问题,有多个类似的项目被称为agrep,但它们并不完全兼容。但我认为所有版本都允许您设置分隔符。

答案4

这个怎么样?有用吗?

grep 文件“搜索字符串”|awk'BEGIN{RS="\n";ORS="@"}{print}'

将“@”设置为适合您需要的任何值。

相关内容