我有一个文件说abc.txt包含以下数据(真实数据有很多记录,比如200左右)
Sno | Name
1 | Jack
2 | Jill
3 | June
现在如何附加文字以使我的文件看起来像这样,
Sno | Name | Place
1 | Jack | Paris
2 | Jill | Paris
3 | June | Paris
我尝试全局替换,但第一行应该附加不同的文字。所以请帮助我们。
答案 0 :(得分:4)
怎么样:
sed -e '2,$ s/$/|Paris/' < abc.txt
包括标题:
sed -e '1 s/$/|Place/' -e '2,$ s/$/|Paris/' < abc.txt
对于最后一行,您必须在文件中有一个额外的空白行。因此,删除除零个或多个空格之外的所有行:
sed -e '/^ *$/ d' -e '1 s/$/|Place/' -e '2,$ s/$/|Paris/' < abc.txt
答案 1 :(得分:0)
这可能适合你(GNU sed):
sed '1s/$/|Place/;/./!b;1!s/$/|Paris/' file
这会将|Place
追加到第一行,忽略空行,所有其他行追加|Paris
。