我是 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
同时运行该命令才能将更多文本添加到同一个配置文件中。