다음과 같은 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