gpt4 book ai didi

linux - 即时更改 AWK 字段分隔符

转载 作者:可可西里 更新时间:2023-11-01 11:45:29 24 4
gpt4 key购买 nike

我想使用 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 吗?

最佳答案

只要在第一个基于 , 的字段中找到空格,就添加一个逗号:

awk 'BEGIN {FS=OFS=","} {sub(/ /, ", ", $1)}1' file
# ^ ^^
# find a space... ... replace it with , plus space

用你的文件:

$ awk 'BEGIN {FS=OFS=","} {sub(/ /, ", ", $1)}1' file
Peter, Griffin, 31 Spooner St, Quahog
Homer, Simpson, 732 Evergreen Terr, Springfield
Fred, Flintstone, 301 Cobblestone Way, Bedrock

这使用函数 sub()在第一个字段中执行替换。

关于linux - 即时更改 AWK 字段分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39231787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com