마지막 줄 뒤의 텍스트 파일에 패턴 삽입

마지막 줄 뒤의 텍스트 파일에 패턴 삽입

아래 코드를 사용하여 특정 줄 뒤의 줄을 사용자 변수의 텍스트 파일에 삽입하고 있습니다.

echo -n "WHICH STATIONS?"
read station
echo ${station[${i}]}
awk -v input="$station" '
 BEGIN {
        n = split(tolower(input), user)              
pattern = " force %-4s npos 0. .0001\n" \
          " force %-4s epos 0. .0001\n" \
          " force %-4s upos 0. .0001\n"   
    }
    {print}
    /specific_line/ {
        for (i=1; i<=n; i++)
             printf pattern, j=user[i], j, j
        exit
    }
' ./data > data_2

pattern데이터 파일의 마지막 행 뒤에 삽입 해야 합니다 . 위 코드를 어떻게 수정할 수 있나요?

답변1

이것을 스크립트 끝에 추가하면 종료하기 전에 루프가 실행 awk됩니다 .awkfor

    END {
        for (i=1; i<=n; i++)
             printf pattern, j=user[i], j, j
    }

인쇄하고 싶다면모두file 행을 사용하는 경우 코드 블록 끝에 있는 항목을 data제거해야 합니다 . 이렇게 하면 입력 처리가 중지되고 해당 블록(존재하는 경우)으로 분기된 다음 스크립트가 종료됩니다.exit/specific_line/awkEND

관련 정보