检查文件中是否存在行

时间:2013-02-26 14:36:32

标签: android xml bash shell scripting

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

我需要一个函数来检查文件里面是否有X行,如果它在那里就不应该添加行,它还必须将行放在文件中存在的另一行之前。

3 个答案:

答案 0 :(得分:1)

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

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

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

或者,您可以使用sed

完成所有操作
sed -i '/^foobar line$/d;/^context line$/i foobar line' file

答案 1 :(得分:0)

grep -F "$yourLine" file.xml

答案 2 :(得分:0)

awk sum up multiple files show lines which does not appear on both sets of files 检查我在这个页面上的答案(我自己的问题的最后一个答案)我正在使用ed,在找到需要添加条目的行后,我使用典型的vi命令在行号后面添加条目。

如果不是

,则可以在文件中为字符串执行grep后使用相同的脚本
grep pattern $file > /dev/null
if  [ $? = 0 ]; then
 echo "found"
else
run_ed_function
fi