我希望使用一个Bash脚本在文件的第一行末尾添加文本。该文件是/etc/cmdline.txt,不允许换行,需要用空格隔开新命令,因此我想要添加的文本真正需要在第一行。
目前为止,我得到的代码如下:
line=' bcm2708.w1_gpio_pin=20'
file=/boot/cmdline.txt
if ! grep -q -x -F -e "$line" <"$file"; then
printf '%s' "$line\n" >>"$file"
fi
但是这样添加文本会在第一行的换行符后面,所以结果是错误的。我需要修剪文件内容,添加我的文本和一个换行符,或者以某种方式将其添加到文件的第一行而不触及其余部分,但是我的bash脚本知识不足以找到解决方案,而且我在网上找到的所有示例都是在文件的每一行开头/结尾添加,而不仅仅是第一行。
grep "$line" "$file"
替代,@RyuKajiya 我刚试过了,在我的终端上运行良好。 - Arnab Nandy