我正在尝试使用制表符分隔符在文本文件的顶部添加一行文字。
sed -i '1s/^/x,y,z\n/' INPUTFILE.txt
^^这当然会在输入文件的顶行产生“x,y,z”。
sed -i '1s/^/x'\t'y'\t'z\n/' INPUTFILE.txt
^^这会在输入文件的第一行产生“xtytz”。
在条目x,y和z之间添加标签的正确语法是什么?
谢谢!
更新
最后有两条建议在这里工作:
使用实际标签作为x,y和z之间的“字符”
sed -i '1s/^/x y z\n/' INPUTFILE.txt
使用\ t,但没有围绕它的'
...只需将其放入!
sed -i '1s/^/x\ty\tz\n/' INPUTFILE.txt
非常感谢所有投入。
答案 0 :(得分:2)
这适用于我的sed(GNU sed 4.2.1):反斜杠后面有一个换行符
seq 5 | sed '1i\
a\tb\tc'
a b c
1
2
3
4
5
答案 1 :(得分:2)
你的第二次尝试几乎是正确的。只需删除'
分隔\t
(GNU sed 4.2.1)
sed -i '1s/^/x\ty\tz\n/' INPUTFILE.txt
然而,格伦杰克曼提出的答案似乎更优雅。