【问题标题】:Bash command - name an column I created that currently is populated without a column nameBash 命令 - 命名我创建的一个列,该列当前填充时没有列名
【发布时间】:2020-11-26 23:46:00
【问题描述】:

很抱歉,这可能是非常基本的,但我创建了以下命令,以实现添加列并根据是否满足条件返回“1”或“0”的初始目标。

也就是说,当前返回的列不带任何名称。有没有一种简单的方法来标注返回的列名应该是什么?

awk -F, 'NR>1 {$0 = $0 FS (($2 >= 1 && $2<=20) ? 1 : 0)} 1' updatedDataset.csv > testdata2.csv

感谢您的帮助!

【问题讨论】:

  • @shawn - 我尝试了您的建议,但无法正常工作。 @Nic3500 - 这是一个例子 - 如果文档名为 example.csv:col1,col2 a,2 b,8 c,50 d,4 awk -F, 'NR>1 {$0=$0 FS (($2 >= 1 && $2 <= 20) ? 1:0)}1' example.csv example.csv 上的命令返回 col1,col2 a,2,1 a,8,1 a,50,0 a,4,1 a,2,1 但我希望它返回 col1,col2,col3 a,2,1 a,8,1 a,50,0 a,4,1 a,2,1 即,我正在寻找的是"col3" 待添加

标签: linux bash command-line


【解决方案1】:

-- 更新:想通了。这是正确的脚本

awk -F, 'BEGIN {OFS=","} FNR==1{$(NF+1)="col3"} NR>1 {$0 = $0 FS (($2 >= 1 && $2<=20) ? 1 : 0)} 1' example.csv

我确信有更好的方法可以做到这一点,但到目前为止这似乎工作正常。

【讨论】:

    猜你喜欢
    • 2020-08-27
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 2019-10-02
    相关资源
    最近更新 更多