在文件中的每个单词周围添加管道符号

add pipe signs around every word in file

我有以下文件:

aaaa
bbbb
aaaabbbb

我希望得到以下输出:

|aaaa|
|bbbb|
|aaaabbbb|

我尝试使用:

for i in aaaa bbbb aaaabbbb
do
awk '{ sub ("${i}", "|"${i}"|",  }1' input
done

但是我没有得到想要的输出。 任何帮助表示赞赏, 谢谢

你可以做到

awk '{print "|"[=10=]"|"}' file

awk '{[=11=]="|"[=11=]"|"}1' file

或者正如 twalberg 指出的那样,您可以使用 sed

sed 's/^\|$/|/g' file

这会将起始锚点 ^ 或结束锚点 $ 替换为 |

sed:

sed 's/.*/|&|/g' File

.* 将匹配整行。 & => 匹配的模式将为 .* (entire line)。在匹配的模式周围添加 |

就地替换:sed -i 's/.*/|&|/g' File