如何在 Linux 中在文件开头插入文本?


为了在文本文件的开头插入文本,我们必须熟悉 **sed** 命令,因为 sed 命令可以用来解决上述问题。

让我们首先探索 **sed 命令**,它是流编辑器的缩写。此命令用于对特定文件执行不同的功能,例如查找、替换、插入等等。

假设我们有一个名为 **d1** 的目录,其中存在两个 **.txt** 文件,目录结构如下所示:

immukul@192 d1 % ls -ltr
total 8280
-rwxrwxrwx 1 immukul staff 4234901 Jul  7 17:41     file.txt
-rw-r--r-- 1 immukul staff     105 Jul 16 09:30 somefile.txt

现在我们想更改名为 **somefile.txt** 文件的内容,并在 .txt 文件的第一行插入一些我们选择的文本。

在向文件插入任何内容之前,somefile.txt 的内容如下所示

immukul@192 d1 % cat somefile.txt
this file contains
a new text stream
and i am going to edit
that stream
yes i can do that
ask jeffrey

现在,为了在第一行添加一些文本,我们将使用下面显示的命令

命令

适用于 Mac OS

sed -i "" '1s/^/Is this text added
/' somefile.txt

适用于 Ubuntu/Fedora

sed -i '1s/^/Is this text added
/' somefile.txt

输出

immukul@192 d1 % cat somefile.txt
Is this text added
this file contains
a new text stream
and i am going to edit
that stream
yes i can do that
ask jeffrey

更新于: 2021-07-30

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告