如何避免使用 grep -o 在同一行进行多个匹配换行?

use*_*456 6 grep

对于grep -o,我为每场比赛添加了一条新行:

# echo "a b a"|grep -o a
  a
  a
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到下面的结果呢?

 # echo "a b a"|grep -o a
  a      a
Run Code Online (Sandbox Code Playgroud)

edw*_*ksl 4

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

echo "a b a" | grep -o a | tr "\n" "\t"; echo
Run Code Online (Sandbox Code Playgroud)

其中最后一个echo用于防止 的输出tr与您的PS1.

对于您给出的具体示例,它是这样的:

$ echo "a b a" | grep -o a | tr "\n" "\t"; echo
a   a
Run Code Online (Sandbox Code Playgroud)