[英]Replace a string using sed
我想使用sed
將字符串ip_ttl="1"
替換為ip_ttl="2"
。
我試過sed -i "s/ip_ttl="1"/ip_ttl="2"/g"
-但它不起作用。
請幫忙!
將sed代碼放在單引號中,因為您的代碼已經包含雙引號。
sed -i 's/ip_ttl="1"/ip_ttl="2"/g' file
如果將代碼放在兩個雙引號中,則sed將在到達另一個雙引號后終止程序。 因此, "
在到達1
之前,它將視為結束並終止程序。
更新:
如果數字總是變化,那么最好定義與任何數字匹配的模式。
sed -i 's/ip_ttl="[0-9]\+"/ip_ttl="2"/g' file
如果在模式中使用引號,則可以在模式中使用雙引號引起來:
sed -i "s/ip_ttl=\"1\"/ip_ttl=\"2\"/g"
或將整個模式用單引號引起來:
sed -i 's/ip_ttl="1"/ip_ttl="2"/g'
或者,您可以轉義引號
sed -i "s/ip_ttl=\"1\"/ip_ttl=\"2\"/g" file
有時這很有用,因為在要選擇的字符串中同時包含單引號和雙引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.