从CSV文件中删除然后返回一列的最简单方法是什么?

时间:2012-05-10 11:10:43

标签: bash csv awk

我经常需要运行各种脚本来编辑CSV文件中的数据,但仅限于该文件中的特定列。重新设计所有脚本以便它们仅操作特定列有时很复杂。我认为最简单的方法是将特定列输出到临时文件(例如temp.csv),运行temp.csv上的脚本,然后将此编辑后的数据放回CSV文件中的同一列。 / p>

我知道我可以使用以下方法从CSV文件的特定列中检索数据:

awk -F@ '{print $3}' file.csv >> temp.csv

使用脚本编辑temp.csv后,将此数据返回CSV文件中的同一列的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以就地修改$3。 E.g:

awk -F@ 'BEGIN { OFS= FS }
         { # do whatever with $3, like
           $3 += 2
           $3 = $3 "appended text"
           # and so on, then finally
           print $0
         }' INPUT.CSV > OUTPUT.CSV
相关问题