首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拆分并附加ksh和awk/nawk

拆分并附加ksh和awk/nawk
EN

Stack Overflow用户
提问于 2012-03-09 06:10:05
回答 1查看 536关注 0票数 0

我正享受着最美好的时光。下面是我的nawk语句:

代码语言:javascript
复制
nawk -F"\t" '{print substr($1,0,4)","substr($1,5,4)","substr($1,9,4)","$2","$3","$4","$5","$6}' filename

简而言之,这是一个制表符分隔的文件。我想把第一列(12个字符)分成3列,然后用substring函数来实现。然后,我想打印不带第一列的其余数据。这是我有问题的附加部分。

在它的当前迭代中,没有6列的行将有挂起的逗号,而列超过6列的行将不会打印出来。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-09 06:32:15

未经测试,但请尝试以下内容:

代码语言:javascript
复制
nawk -F"\t" -v OFS=, '
    {$1 = substr($1,0,4) OFS substr($1,5,4) OFS substr($1,9,4)}
    {print}
' filename

Update for comment --我假设您希望每个字段都包含在引号中:

代码语言:javascript
复制
nawk -F"\t" -v OFS=, -v q="'" '
  {
    $1 = q substr($1,0,4) q OFS q substr($1,5,4) q OFS q substr($1,9,4) q
    for (i=2; i<=NF; i++) 
      $i = q $i q
    print
  }
' filename

我将单引号作为变量传递给nawk,因为您不能将单引号嵌入到单引号字符串中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9625827

复制
相关文章

相似问题

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