首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Awk:使用包含头部的部分修改csv

Awk:使用包含头部的部分修改csv
EN

Stack Overflow用户
提问于 2012-09-25 00:30:51
回答 2查看 239关注 0票数 3

我有一个如下所示的文件:

代码语言:javascript
复制
Downtown
3/1/2013, 6A, 1 convertible to 2 bedroom apartment, tile bath, air conditioning, $3800
4/1/2013, 4C, One bedroom living room eat-in-kitchen, $3850
East Village
5/17/2013, 9M, STUDIO K'ETTE air conditioner TILE BATH, $2300
6/1/2013, 6H, Studio with tile bath and kitchenette with stone counters tops, $2600
SoHo
6/1/2013, 10B ,STUDIO KETTE air conditioner TILE BATH, $2400

(等)

我想把它转换成像这样的东西:

代码语言:javascript
复制
Downtown, 3/1/2013, 6A, 1 convertible to 2 bedroom apartment, tile bath, air conditioning, $3800
Downtown, 4/1/2013, 4C, One bedroom living room eat-in-kitchen, $3850
East Village, 5/17/2013, 9M, STUDIO K'ETTE air conditioner TILE BATH, $2300
East Village, 6/1/2013, 6H, Studio with tile bath and kitchenette with stone counters tops, $2600
SoHo, 6/1/2013, 10B ,STUDIO KETTE air conditioner TILE BATH, $2400

我不知道如何获取这些部分标题,并将它们移动到列中,这样我就有了一个完整的描述性表格……我相信使用awk是最简单的,但是有人可以提供代码片段,或者解释如何使用awk (或任何最合适的命令)来实现这一点吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-25 00:39:49

给定一个名为"test.txt“的文件,其中包含您在下面描述的数据。您可以使用下面的AWK代码行获取它:

代码语言:javascript
复制
awk -F"," 'NF == 1 {header = $0;} NF > 1 {print header", "$0;}' test.txt

如果Num Fields为1,则它是一个标题,因此我将其保存在" header“变量中。如果Num Fields大于1,则它是"data line",所以我打印"header“的最后一个值和整个"data line”。

这对我来说很有效:

代码语言:javascript
复制
Downtown, 3/1/2013, 6A, 1 convertible to 2 bedroom apartment, tile bath, air conditioning, $3800
Downtown, 4/1/2013, 4C, One bedroom living room eat-in-kitchen, $3850
East Village, 5/17/2013, 9M, STUDIO K'ETTE air conditioner TILE BATH, $2300
East Village, 6/1/2013, 6H, Studio with tile bath and kitchenette with stone counters tops, $2600
SoHo, 6/1/2013, 10B ,STUDIO KETTE air conditioner TILE BATH, $2400
票数 5
EN

Stack Overflow用户

发布于 2012-09-25 21:07:03

这可能适用于您(GNU sed):

代码语言:javascript
复制
sed -i '/,/!{h;d};G;s/\(.*\)\n\(.*\)/\2, \1/' file
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12569177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档