2

我有一个文件说 abc.txt 有以下数据(真实数据有很多记录,比如 200 条左右)

Sno | Name
1 | Jack
2 | Jill
3 | June

现在我如何附加文本以使我的文件看起来像这样,

Sno | Name | Place
1 | Jack | Paris
2 | Jill | Paris
3 | June | Paris

我尝试全局替换,但第一行应该附加不同的文本。所以请帮帮我。

4

2 回答 2

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
于 2013-09-02T13:14:10.287 回答
0

这可能对您有用(GNU sed):

sed '1s/$/|Place/;/./!b;1!s/$/|Paris/' file

这追加|Place到第一行,忽略空行和所有其他行追加|Paris

于 2013-09-03T06:37:30.557 回答