我想使用 sed (或任何方法)来替换文件中的字符串。
该字符串的格式为“prv=x”,其中 x 是某个整数。 sed 中有没有一种方法可以指定要替换的整个字符串而不指定 x?
答案1
是的;仅替换每行中第一次出现的字符串:
sed -i 's/prv=[0-9][0-9]*/replacement_string/' inputfile
或者:
sed -i 's/prv=[0-9]\{1,\}*/replacement_string/' inputfile
要替换每行中多次出现的字符串:
sed -i 's/prv=[0-9][0-9]*/replacement_string/g' inputfile
或者:
sed -i 's/prv=[0-9]\{1,\}*/replacement_string/g' inputfile
使用 ERE 语法(如果您的版本支持sed
)仅替换每行中第一次出现的字符串:
sed -Ei 's/prv=[0-9]+/replacement_string/' inputfile
或者:
sed -Ei 's/prv=[0-9]{1,}/replacement_string/' inputfile
要替换每行中多次出现的字符串:
sed -Ei 's/prv=[0-9]+/replacement_string/g' inputfile
或者:
sed -Ei 's/prv=[0-9]{1,}/replacement_string/g' inputfile