使用 `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

相关内容