![awk - 접미사가 있는 모든 값을 인쇄합니다.](https://linux55.com/image/142677/awk%20-%20%EC%A0%91%EB%AF%B8%EC%82%AC%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%EA%B0%92%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%A9%EB%8B%88%EB%8B%A4..png)
awk를 사용하여 구분된 문자열의 모든 값을 인쇄하고 각 값 뒤에 정적 접미사를 추가하고 싶습니다.
입력하다:
stack,over,flow
분리 기호:
Comma
산출:
stack suffix, over suffix, flow suffix
답변1
awk -F ',' -v OFS=',' -vpre="prefix" -vsuf="suffix" \
'{ for (i=1;i<=NF;++i) $i = pre $i suf; print }'
입력용
unix,and,linux
이것은 생산할 것입니다
prefixunixsuffix,prefixandsuffix,prefixlinuxsuffix
프로그램 awk
은 접두사와 접미사를 추가하여 루프의 각 필드를 수정합니다. 접두사 및 접미사 문자열은 awk
명령줄의 변수 할당을 통해 pre
프로그램에 전달됩니다 .suf
공백을 접두사로 추가하고 문자열(초기 공백 포함)을 접미사로 추가하려면 suffix
다음을 사용할 수 있습니다.
awk -F ',' -v OFS=',' -vpre=" " -vsuf=" suffix" \
'{ for (i=1;i<=NF;++i) $i = pre $i suf; print }'
생산하다
unix suffix, and suffix, linux suffix
답변2
또 다른 Awk 변형 - 명시적인 루핑을 피하기 위해 내부 출력 구분 기호를 활용합니다.
awk -F, -v s=' suffix' 'BEGIN{OFS= s FS " "; ORS= s RS} {$1=$1} 1'
전임자.
echo 'stack,over,flow' | awk -F, -v s=' suffix' 'BEGIN{OFS= s FS " "; ORS= s RS} {$1=$1} 1'
stack suffix, over suffix, flow suffix
공백으로 구분된 출력의 경우 기본 출력 필드 구분 기호를 접미사에 추가할 수 있습니다.
$ echo 'stack,over,flow' | awk -F, -v s=' suffix' 'BEGIN{OFS= s OFS; ORS= s RS} {$1=$1} 1'
stack suffix over suffix flow suffix
답변3
awk -F , '{print $1" suffix", $2" suffix", $3" suffix"}' OFS=", " suffix
awk -F ,
필드 구분 기호를 ,
print $1" suffix",
그리고 공백을 인쇄한 다음 값 뒤에 접미사를 추가합니다.
OFS=", "
출력 필드 구분 기호를 공백이 포함된 쉼표로 설정합니다.
산출:
stack suffix, over suffix, flow suffix