두 개의 직접 줄만 있는 경우 명령을 통해 파일의 줄을 변경하는 방법
~에서
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