42

I want to use bash to process a tab delimited file. I only need the second column and third to a new file.

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
RnD
  • 1,172
  • 4
  • 15
  • 25

3 Answers3

86

cut(1) was made expressly for this purpose:

cut -f 2-3 input.txt > output.txt
Carl Norum
  • 219,201
  • 40
  • 422
  • 469
15

Cut is probably the best choice here, second to that is awk

awk -F"\t" '{print $2 "\t" $3}' input > out
Fredrik Pihl
  • 44,604
  • 7
  • 83
  • 130
3

expanding on the answer of carl-norum, using only tab as a delimiter, not all blanks:

cut -d$'\t' -f 2-3 input.txt > output.txt

don't put a space between d and $

vkersten
  • 131
  • 1
  • 5