我有一个 CSV 文件,正在通过一组 awk/sed 命令进行管道传输。
CSV 文件中的某些行如下所示:
10368,"Verizon DSL",DSL,NY,NORTHEAST,-5,-4,"[1.1 - 3.0]","[0.384 - 0.768]"
其中第 8 列和第 9 列是表示数字范围的字符串。
我该如何使用awk
or sed
用数值替换这些字段?是范围的开始,还是范围的结束?
所以这条线最终会变成
10368,"Verizon DSL",DSL,NY,NORTHEAST,-5,-4,1.1,0.384
or
10368,"Verizon DSL",DSL,NY,NORTHEAST,-5,-4,3.0,0.768
我已经到达移除括号 https://serverfault.com/questions/466118/using-sed-to-remove-both-an-opening-and-closing-square-bracket-around-a-string但过去我就被困住了。我考虑过在“ - ”上进行分割,但是我的文件中的许多行在最后两列中都有一个常规的数值,而不是一个范围,这使得事情变得混乱(我不想最终有些行有一个不同的列数)。