gpt4 book ai didi

linux - 操作第一个字段,然后使用 awk 打印 csv 文件的其余行

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:06 25 4
gpt4 key购买 nike

我有很多 csv 文件,我需要在其中操作包含日期的第一个字段,然后打印该行的其余部分。这些文件具有不同的字段长度。

我的样本行是

"11.07.2016 00:00:00",DON1SOE02,PAPN,PAPN,OPEN1000,918945,

我试过下面的代码

awk -F"," '{print "\""substr($1,08,4)"-"substr($1,5,2)"-"substr($1,2,2)substr(‌​$1,12,9)"\","$0""}' file.csv    

结果是

"2016-07-11 00:00:00","11.07.2016 00:00:00",DON1SOE02,PAPN,PAPN,OPEN1000,918945,

有没有办法避免打印未修改的日期字段,即“11.07.2016 00:00:00”

下面的解决方案有一种方法可以跳过第一列,但我想修改第一列然后打印修改,然后跳过打印未修改的第一列

Using awk to print all columns from the nth to the last

最佳答案

您必须为第一个字段赋予新值:awk '{$1="..."}1。否则整行 $0 将保持不变:

awk -F, -v OFS=, '{$1="\""substr($1,8,4)"-"substr($1,5,2)"-"substr($1,2,2)""substr($1,12,9)"\""}1' file.csv

关于linux - 操作第一个字段,然后使用 awk 打印 csv 文件的其余行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41718584/

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