我有一个这样的文件:
BEGIN
Name "TIPO_RECORD"
SqlType "12"
Precision "255"
Name "Test"
SqlType "12"
Precision "255"
Name "xxxx"
SqlType "12"
Precision "255"
Name "Test"
SqlType "12"
Precision "255"
END
我需要一个脚本来查找字符串“TEST”,然后将其后面的第一个字符串“PRECISION”替换为“TRY”。
答案1
假设您想要替换示例中的文本,您可以执行以下操作:
sed '/Name "Test"/ {n;n;s/Precision/Try/;}'
要做到不区分大小写,请尝试:
sed '/Name "[Tt][Ee][Ss][Tt]"/ {n;n;s/[Pp][Rr][Ee][Cc][Ii][Ss][Ii][Oo][Nn]/Try/;}'
或者更简单地使用 GNU sed
:
sed '/Name "Test"/I {n;n;s/precision/Try/i;}'