使用单个终端命令向文本文件添加单词(无需编辑器)

使用单个终端命令向文本文件添加单词(无需编辑器)

我是 Linux 新手。我需要.conf仅从打开的终端编辑文件,而不使用任何文本编辑器。也就是说,我可以从打开的终端向配置文件添加单词和句子吗?

例如:command /home/.../file.conf -add 'abcd'到第23行等等。最后保存。

是否可以仅使用命令在该配置文件中搜索特定单词并将新文本添加到该配置文件的下一行?

答案1

当我编写脚本来执行与您要求的操作时,我通常会这样做,但以编程方式进行。

echo "Hello you!" >> myfile.txt
echo "this is 2nd line text" >> file.txt
echo "last line!" >> file.txt

瞧!你做到了。需要注意的>>是,向现有文件添加新行,同时>只需覆盖所有内容即可。

答案2

使用 sed 可以轻松地从打开的终端向配置文件添加单词和句子。

sed -i '23iabcd' file.conf

将文本插入abcd文件第 23 行file.conf

-i直接对文件进行修改file.conf

如果您想使用awk那么:

awk -v n=23 -v s="abcd" 'NR == n {print s} {print}' file > file.conf

下面在SearchPattern后添加一行。

sed -i '/SearchPattern/aNew Text' SomeFile.txt

它在包含 SearchPattern 的每一行下方插入一行新文本。

要添加两行,您可以使用\并在键入新文本时输入换行符。

 sed -i '/pattern/a \
line1 \
line2' inputfile

答案3

您也可以使用该printf命令。

向文件中添加行

$ printf "\nThis is a new line to your document" >> file.txt

覆盖文件

$ printf "This overwrites your file" > file.txt

答案4

ed我使用命令找到了我自己的问题的解决方案

ed -s /home/.../abc.conf <<< $'23i\ntext\n.\nwq'

文本可以包含 27 行。您可以从文本文件中复制 27 行,然后将这 27 行粘贴到您的配置文件中。但我需要ed同时运行该命令才能将更多文本添加到同一个配置文件中。

相关内容