1

含まれている行のgetzb="0" zztype="0"withを置き換える必要があるため、次のコマンドを記述しました。getzb="2" zztype="1"qsid="90"qsid="100"sed

sed '/qsid="90"\|qsid="100"/s/\(getzb=\)"0" \(zztype=\)"0"'/\1"2" \2"1"/  

それは醜いように見えます、誰かが良いヒントを持っていましたか?

4

1 に答える 1

0

これを試して :

sed -r '
    /\bqsid="(90|100)"/{
        s/\bgetzb="0"/getzb="2"/g;
        s/\bzztype="0"/zztype="1"/g
    }
'

サンプルテスト

$ cat file
getzb="0" zztype="0" foobar
getzb="0" zztype="0" 
getzb="0" zztype="0" qsid="90" or qsid="100"

$ sed -r '
    /\bqsid="(90|100)"/{
        s/\bgetzb="0"/getzb="2"/g;
        s/\bzztype="0"/zztype="1"/g
    }
' file
getzb="0" zztype="0" foobar
getzb="0" zztype="0" 
getzb="2" zztype="1" qsid="90" or qsid="100"
于 2013-03-19T09:05:46.670 に答える