2016-02-22 3 views
1

У меня есть файл, который вкладка '\t' отделенной как этотAWK для изменения содержимого файла

8 263 722016-8-263-2016_02_07_03:00:18-544992 Text1 4 
8  722016-8--2016_02_07_03:00:18-307392 Text2 1 
8 220 722016-8-220-2016_02_07_03:00:18-488656 Text3 3 
8 727 722016-8-727-2016_02_07_03:00:18-786195 Text4 1 

я должен изменить содержание 3-го столбца. Я могу получить 3-й столбец, подобный этому awk '{ print $3 }' file.txt.

722016-8-263-2016_02_07_03:00:18-544992 
Text2 
722016-8-220-2016_02_07_03:00:18-488656 
722016-8-727-2016_02_07_03:00:18-786195 

Но в строке 2 колонки 2 отсутствует, я получаю Text2 на выходе вместо 722016-8--2016_02_07_03:00:18-307392. поэтому я думаю о том, чтобы получить 3-й столбец от последнего и вставить «Test1-» в начале этой колонки. Ожидаемый результат для указанного выше файла будет -

8 263 Test1-722016-8-263-2016_02_07_03:00:18-544992 Text1 4 
8  Test1-722016-8--2016_02_07_03:00:18-307392  Text2 1 
8 220 Test1-722016-8-220-2016_02_07_03:00:18-488656 Text3 3 
8 727 Test1-722016-8-727-2016_02_07_03:00:18-786195 Text4 1 

ответ

2

Вы можете использовать AWK:

awk 'BEGIN{FS=OFS="\t"} NF==4{$1=$1 "\t"} {$(NF-2) = "Test1-" $(NF-2)} 1' file 

Выход:

8 263 Test1-722016-8-263-2016_02_07_03:00:18-544992 Text1 4 
8  Test1-722016-8--2016_02_07_03:00:18-307392  Text2 1 
8 220 Test1-722016-8-220-2016_02_07_03:00:18-488656 Text3 3 
8 727 Test1-722016-8-727-2016_02_07_03:00:18-786195 Text4 1 
+0

@anubhavaI забыл упомянуть ..... мой входной файл на вкладке разделен ....... вывод также должен быть вкладкой '\ t' разделен –

+1

Спасибо ..... за то, что так быстро посмотрели: D –

Смежные вопросы