다음 줄에 특정 문자가 포함된 경우 현재 줄의 다음 줄을 어떻게 인쇄합니까? [복사]

다음 줄에 특정 문자가 포함된 경우 현재 줄의 다음 줄을 어떻게 인쇄합니까? [복사]

다음 행이 이면 해당 행 b에 추가하고 싶습니다 .AA

이것은 내 파일입니다:

AA  
b  
b  
AA  
b  
AA  
b  
b  
b

원하는 출력:

AA b b  
AA b  
AA b b b

아래는 내가 시도하는 코드입니다.

paste -s -d" " file.txt | awk '{for(i=1;i<=NF;i++){if(i > 1 && $i == "AA")????}}'

$i한 줄에 여러 줄을 인쇄하고 for 루프를 마지막 필드까지 실행한 다음 if is 다음 줄로 이동해 보았습니다 AA. 하지만 "if" 문 다음에 무엇을 해야 할지 모르겠습니다.

누가 날 도울 수 있죠?

답변1

앞쪽:

sed -ne '
  /^AA$/b1
  :1
    $!N
    /\nb$/s/\n/ /
    t1
  P;D
' <file

관련 정보