file - 如何在文件的每一行中 append 文本,除了第一行

标签 file unix append

我有一个文件 abc.txt,其中包含以下数据(真实数据有很多记录,比如大约 200 条)

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

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

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

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

最佳答案

怎么样:

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

关于file - 如何在文件的每一行中 append 文本,除了第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18574071/

相关文章:

bash - 将文件移动到 sysdate 文件夹

file - 如何计算平均搜索时间?

c - 需要帮助使用 GIOService(GLib、Glib-GIO)实现简单的套接字服务器

go - 对切​​片上的 append() 行为感到困惑

javascript - 在 javascript 中向 div 添加一些内容,而不使用 pre 标记来为文本创建换行符

php - 追加到数组会替换数组中的所有元素

file - 更改批处理文件中文本的字体和大小

c - 在 Windows 上格式化文件

Windows 上的 C 编程 - 适合曾经在 Ubuntu 上使用过的人

perl - 从 perl 调用带有反引号的 find - find : write error: Broken pipe