awk - [꺼짐]인 경우 줄 변경

awk - [꺼짐]인 경우 줄 변경

두 개의 직접 줄만 있는 경우 명령을 통해 파일의 줄을 변경하는 방법

~에서

Line1
LineA
OldLine

도착하다

Line1
LineA
NewLine

답변1

매우 일반적인 입력/출력을 고려하면 이것이 작동할 것입니다.

awk '{ 
        if (f == 2) 
        {
           print "NewLine"
           next
        } else if (/Line1/) 
        { 
           f=1 
        } else if (f == 1 && /LineA/)
        {
           f=2
        } else 
        { 
           f=0 
        } 
        print 
     }'

한 줄 형식으로.

awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'

몇 가지 예.

$ echo -en 'Line1\nLineA\nOldLine'|awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'
Line1
LineA
NewLine

$ echo -en 'Line1\nLineB\nOldLine'|awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'
Line1
LineB
OldLine

관련 정보