在文件中的每个单词周围添加管道符号
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
我有以下文件:
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