微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅当文件不在文件中时才将行添加到文件中

我想添加以下行:

nohup java -jar /mnt/fusion/nfs/labStats/LabInfoAutoLog.jar > /dev/null &

如果它不存在,则将其保存到文件/etc/rc.d/rc.local的末尾。

我怎么能从Linux命令行做到这一点? 我认为grep或sed可以工作,但是我不太熟悉,无法使其工作。 现在我使用echo ,但只是不断增加一遍又一遍。

正则expression式:使用grep命令将语法从perl更改为其他语法

grep使用另一个命令的输出

Unix – 文件名开头的空格

grep:无效的正则expression式

格式化grep输出为CSV

用户select的文件中查找单词的Shell脚本

Linux:阻塞,直到一个文件中匹配的string(“tail + grep with blocking”)

是否有可能抓住wget的最后一行?

我需要从多个文件删除一行

使用grep和ls -a命令

假设你想要在文件末尾:

LINE="nohup java -jar /mnt/fusion/nfs/labStats/LabInfoAutoLog.jar > /dev/null &" FILE=/etc/rc.d/rc.local grep -q "$LINE" "$FILE" || echo "$LINE" >> "$FILE"

一个选项是两个步骤:

grep -q "yourline" /path/file||sed -i '/..place../ a the line' file

也可以用awk来做,

保存数组中的所有行,保存期间如果找到该行,则退出。 否则,将END{}块中的行添加到正确的位置。

PS 你没有告诉文件,在哪里添加该行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐