아래 코드를 사용하여 특정 줄 뒤의 줄을 사용자 변수의 텍스트 파일에 삽입하고 있습니다.
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
됩니다 .awk
for
END {
for (i=1; i<=n; i++)
printf pattern, j=user[i], j, j
}
인쇄하고 싶다면모두file 행을 사용하는 경우 코드 블록 끝에 있는 항목을 data
제거해야 합니다 . 이렇게 하면 입력 처리가 중지되고 해당 블록(존재하는 경우)으로 분기된 다음 스크립트가 종료됩니다.exit
/specific_line/
awk
END