【发布时间】:2016-08-30 15:37:35
【问题描述】:
我想使用 AWK 获取以下电子表格,其中名字和姓氏在一个列中:
Peter Griffin, 31 Spooner St, Quahog
Homer Simpson, 732 Evergreen Terr, Springfield
Fred Flintstone, 301 Cobblestone Way, Bedrock
并输出到一个新的电子表格,其中名字和姓氏有自己的列:
Peter, Griffin, 31 Spooner St, Quahog
Homer, Simpson, 732 Evergreen Terr, Springfield
Fred, Flintstone, 301 Cobblestone Way, Bedrock
我尝试过动态更改字段分隔符,例如:
awk '{print $1 "," $2} {FS=","} {print $3} {FS=" "}' spreadsheet.csv
但它似乎并没有那样工作,而且我得到了一个混乱的混乱。这可以使用 AWK 吗?
【问题讨论】:
-
全名是否总是只包含两个单词?
-
仅供参考,逗号对于名称/地址电子表格来说是一个糟糕的字段分隔符,因为它们通常用于名称和地址中。您应该改用标签。
-
嘿@Ed,你知道为什么更新FS在这里不起作用吗?我在 POSIX 规范中找不到解释
-
@oguzismail 因为 OP 将 FS 设置为
,记录已被拆分为字段,然后在拆分之前再次将其设置回" "下一条记录。 -
@oguzismail 是 -
$0=$0.