我有一个文件说 abc.txt 有以下数据(真实数据有很多记录,比如 200 条左右)
Sno | Name
1 | Jack
2 | Jill
3 | June
现在我如何附加文本以使我的文件看起来像这样,
Sno | Name | Place
1 | Jack | Paris
2 | Jill | Paris
3 | June | Paris
我尝试全局替换,但第一行应该附加不同的文本。所以请帮帮我。
怎么样:
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
这可能对您有用(GNU sed):
sed '1s/$/|Place/;/./!b;1!s/$/|Paris/' file
这追加|Place
到第一行,忽略空行和所有其他行追加|Paris
。