`cut` 및 `awk`를 사용하여 데이터 추출 및 형식 지정

`cut` 및 `awk`를 사용하여 데이터 추출 및 형식 지정

다음과 같은 txt 파일이 있습니다.

"Firstname","Lastname","Company"
"Alex","Johnson","Alex Corp."
"Baran","Atasoy","Gülerler Ltd."

및/또는 다음 형식을 awk사용하여 데이터를 추출하고 형식화 하고 싶습니다 .cut

Firstname Lastname
Alex Johnson
Baran Atasoy

이 목표를 어떻게 달성할 수 있나요?

답변1

( ) awk에서 필드를 분할하고 ( )를 바꾸는 데 사용됩니다.,-F,"gsub

awk -F, '{gsub(/"/,""); print $1,$2}' file
Firstname Lastname
Alex Johnson
Baran Atasoy

답변2

다음을 통해 멀티플레이 필드 구분자를 할당할 수 있습니다.-F

awk -F[\",] '{print $2,$5}

같은sed

sed 's/"\|,[^,]\+$//g;s/,/ /'

또는

sed -E 's/"(\w+)","(\w+).*/\1 \2/'

tr동일cut

tr -s ',"' ' ' | cut -d" " -f2-3

마지막이지만 마지막은 아님: 그냥bash builtin's

while IFS=, read a b c 
do
  echo "${a//\"/} ${b//\"/}"
done

아니면 더 복잡할 수도 있어요

while IFS=[,\"] read a b c d f g
do
  echo $b $f
done

관련 정보