awk vlookup 및 인쇄

awk vlookup 및 인쇄

쉼표로 구분된 파일이 있습니다.

# cat data

smartplayer,2222,off
smartplayer,1111,on
scorer,0000,

$1에서 smartplayer를 검색하고 $3에서 상태를 가져와서 다음과 같이 인쇄하고 싶습니다.

off-smart-player 2222
on-smart-player 1111
scorer 0000

이 명령을 실행했지만 다음과 같이 인쇄됩니다.

# awk '{ if ($1 == smartplayer ) {print $3"-smart-player", $2}}'  data

-smart-player 
-smart-player 

답변1

필드 구분 기호를 지정해야 합니다.

awk -F, '$1=="smartplayer"{ print $3"-smart-player", $2; next }
                          { $1=$1; print }' data

답변2

$ awk -F, '$1=="smartplayer"{$1=$3"-smart-player"} {print $1, $2}' data
off-smart-player 2222
on-smart-player 1111
scorer 0000

관련 정보