awk - 접미사가 있는 모든 값을 인쇄합니다.

awk - 접미사가 있는 모든 값을 인쇄합니다.

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

관련 정보