加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – bash脚本将文本追加到文件的第一行

发布时间:2020-12-14 01:35:29 所属栏目:Linux 来源:网络整理
导读:我想使用bash脚本将文本添加到文件第一行的末尾. 该文件是/etc/cmdline.txt,它不允许换行并需要空白分隔的新命令,因此我想要添加的文本需要在第一行. 到目前为止我得到的是: line=' bcm2708.w1_gpio_pin=20'file=/boot/cmdline.txtif ! grep -q -x -F -e "$
我想使用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' "$linen" >>"$file"
fi

但是在第一行换行后附加文本,结果是错误的.
我要么需要修剪的文件抗衡,加上我的文字和换行,或在某种程度上只是将它添加到文件的第一行不以某种方式接触休息,但我的bash脚本的知识是不够好,在这里找到一个解决方案,以及所有我在网上找到的例子在文件中添加每行的开头/结尾,而不仅仅是第一行.

解决方法

此sed命令将123添加到文件第一行的末尾.

sed ' 1 s/.*/&123/' yourfile.txt

sed '1 s/$/ 123/' yourfile.txt

要将结果附加到同一文件,您必须使用-i开关:

sed -i ' 1 s/.*/&123/' yourfile.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读