使用bash脚本

时间:2016-10-19 19:22:23

标签: bash shell csv

我有一些巨大的csv日志(很多列和行),我需要修改如下:

  1. 删除前两行
  2. 删除最后一行
  3. 删除一些列
  4. 用md5sum
  5. 替换某些列的值

    对于第(1)和(2)点,我认为这可能适合这种方法:

    tail -n +3 file.csv > temp_file.csv
    mv temp_file.csv file.csv
    head -n -1 file.csv > temp_file.csv
    mv temp_file.csv file.csv
    

    对于第(3)点,它应该是(假设我在第5和第25列中删除):

    cut -d , -f 1-4,6-24,26- file.csv
    

    对于第(4)点,我不知道:|

1 个答案:

答案 0 :(得分:0)

如果要删除某些列,则需要知道数字列是什么。 IE,删除5°和25°之间的列:

cut -d, -f5-25 --complement temp.csv

-d,定义分隔符',' -f2选择字段2 --compmplement补充所选字节,字符或字段的集合

要使用md5sum替换某些列的值,可以使用AWK并添加具有md5值的列,并且延迟删除列原始