쉼표로 구분된 파일이 있습니다.
# 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