繁体   English   中英

检查文件中是否存在行

[英]Check if line exists in a file

问题是我的应用尝试在/system/csc的现有xml文件中添加一行。

我需要一个函数来检查文件中是否有X行,并且是否应该在其中添加该行,它还必须将该行放在文件中存在的另一行之前。

您可以使用grep检查该行是否已经存在,如果不存在,请使用sed插入该行:

grep -Fxq "foobar line" file || sed -i '/^context line$/i foobar line' file

如果尚未在文件中找到foobar line则它将在行context line foobar line之前插入foobar line

或者,您可以使用sed来完成所有操作:

sed -i '/^foobar line$/d;/^context line$/i foobar line' file

尝试

grep -F "$yourLine" file.xml

awk总结了多个文件,显示在两组文件中都没有出现的行检查我在此页面上的答案(我自己的问题的最后一个答案)我正在使用ed,并在找到需要添加条目的行后使用典型的vi命令在行号后添加条目。

如果没有对文件中的字符串进行grep,则可以使用相同的脚本

grep pattern $file > /dev/null
if  [ $? = 0 ]; then
 echo "found"
else
run_ed_function
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM