如何避免在同一行中使用 grep -o 进行多次匹配时出现换行符?

如何避免在同一行中使用 grep -o 进行多次匹配时出现换行符?

有了grep -o,我为每一场比赛都准备了一行新行:

# echo "a b a"|grep -o a
  a
  a

我怎样才能获得以下结果?

 # echo "a b a"|grep -o a
  a      a

答案1

您可以将输出通过管道传输greptr该管道,然后使用它将\n(换行符) 转换为\t(制表符):

echo "a b a" | grep -o a | tr "\n" "\t"; echo

最后一个echo用于防止的输出与 的输出tr位于同一行PS1

对于您给出的具体示例,它看起来像这样:

$ echo "a b a" | grep -o a | tr "\n" "\t"; echo
a   a

相关内容