Выберите первые два столбца в текстовом файле с разделителями табуляции и замените их символом «_». - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть образец входного файла следующим образом

RF00001 1c2x    C   3   118 77.20   1.6e-20 1   119 f29242
RF00001 1ffk    9   1   121 77.40   1.4e-20 1   119 8e2511
RF00001 1jj2    9   1   121 77.40   1.4e-20 1   119 f29242
RF00001 1k73    B   1   121 77.40   1.4e-20 1   119 8484c0
RF00001 1k8a    B   1   121 77.40   1.4e-20 1   119 93c090
RF00001 1k9m    B   1   121 77.40   1.4e-20 1   119 ebeb30
RF00001 1kc8    B   1   121 77.40   1.4e-20 1   119 bdc000

Мне нужно извлечь второй и третий столбцы из текстового файла и заменить вкладку '_'

Желаемый выходной файл :

1c2x_C  
1ffk_9  
1jj2_9  
1k73_B  
1k8a_B  
1k9m_B  
1kc8_B

Я могу напечатать два столбца:

awk -F" " '{ print $2,$3 }' input.txt

, но не могу заменить вкладку '_' следующей командой

awk -F" " '{ print $2,'_',$3 }' input.txt

1 Ответ

2 голосов
/ 11 февраля 2020

Не могли бы вы попробовать следующее.

awk '{print $2"_"$3}' Input_file

2-е решение:

awk 'BEGIN{OFS="_"} {print $2,$3}' Input_file

3-е решение : Добавление решения sed.

sed -E 's/[^ ]* +([^ ]*) +([^ ]*).*/\1_\2/' Input_file
...