[英]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.