如何在整个文件的行前添加文本?

Nul*_*ter 8 command-line text-processing

我在文本文件中有域列表,我需要在整个文件的行之前添加127.0.0.1 ip。示例如下:

域名.txt

....
abc.com
...
Run Code Online (Sandbox Code Playgroud)

我想生成 HOSTS 文件,如

...
127.0.0.1 abc.com
...
Run Code Online (Sandbox Code Playgroud)

在文本文件中,我有数千个域条目。

nob*_*ody 8

如果您希望原件完好无损:

sed 's/^/127.0.0.1 /' domain.txt > new_domain.txt
Run Code Online (Sandbox Code Playgroud)


Par*_*rto 7

使用 GEdit 的 GUI 回答

  1. 在 Gedit 中打开您的文件。假设我想将 '127.0.0.1 ' 添加到此文本文件中所有行的开头。

在此处输入图片说明

  1. 使用搜索和替换功能,搜索\n并替换它,\n127.0.0.1 然后单击Replace all按钮,如下所示:

在此处输入图片说明

  1. 这是您的结果:
    免责声明:您必须127.0.0.1 在第一行的开头手动输入替换为文本。

在此处输入图片说明


Vid*_*uth 6

您可以sed通过以下方式实现:

sed -i 's/^/127.0.0.1 /' /path/filename.txt
Run Code Online (Sandbox Code Playgroud)

最好在之前备份文件,我现在不确定您是否需要转义空间。要在运行 sed 时直接进行备份,可以使用以下行:

sed -i_bak -e 's/^/127.0.0.1 /' /path/filename.txt
Run Code Online (Sandbox Code Playgroud)

有关sed您的更多信息,请参阅此处