簡體   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