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

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

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

域名.txt

....
abc.com
...

我想生成像这样的 HOSTS 文件

...
127.0.0.1 abc.com
...

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

答案1

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

sed 's/^/127.0.0.1 /' domain.txt > new_domain.txt

答案2

使用 GEdit 的 GUI 答案

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

在此处输入图片描述

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

在此处输入图片描述

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

在此处输入图片描述

答案3

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

sed -i 's/^/127.0.0.1 /' /path/filename.txt

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

sed -i_bak -e 's/^/127.0.0.1 /' /path/filename.txt

更多有关sed您的信息查找这里

答案4

简单的添加方式:

$ printf "127.0.0.1 %s\n" $(cat domain.txt)

%s 表示文件中的行字符串

\n 表示在新行中打印内容

相关内容