2014-11-17 3 views
1

У меня есть текстовый файл в Linux с этим видом формата:Дополнительный текст с помощью замены

NODEA_X1 
NODEB_X2 
NODEC_X1 
NODED_X1 

Я хочу использовать комплементарную поле одной строке значения X *, как показано ниже

cat file.txt|grep -i NODEA|cut -d '_' -f2 

если X * = X1 Я хочу выход X2 и наоборот. Это возможно?

ответ

2

Использование AWK:

awk -F_ -v OFS=_ '{print $1, ($2=="X1")?"X2":"X1"}' file 
NODEA_X2 
NODEB_X1 
NODEC_X2 
NODED_X2 
+0

Этот код заменяет X2 с X1. Но не заменяет X1 на X2. – Ardit

+0

Разумеется, он снова видит все записи, кроме # 2 на выходе. – anubhava

+1

он отлично работает, моя ошибка ... спасибо! – Ardit

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