Splitting one large file into many if the text in a column doesn't match the text in the one before it

后端 未结 4 1108
无人及你
无人及你 2021-01-26 06:31

I searched for awhile and couldn\'t find a response to this. I have a standard tsv file with the following format:

1    100    101    350    A
1    101    102            


        
4条回答
  •  忘了有多久
    2021-01-26 06:50

    So the scripting single-pass low memory line-by-line approach:

    while IFS=" " read -r value1 value2 value3 value4 value5 remainder
    do
      echo $value1 $value2 $value3 $value4 $value5 $remainder >> output.${value5}.txt
    done < "input.txt"
    

    Of course, you need to ensure there are no pre-existing output files, but that can be achieved a number of ways efficiently.

提交回复
热议问题