Печатать все строки в файле, не начинающиеся с хеша, а также фильтровать по определенному столбцу - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть разделенный табуляцией файл со строками заголовка, начинающимися с #.Я хочу обрезать все строки заголовка, а также строки, в которых столбец #2 не начинается с 0/0.

. Я правильно понял первую логику (удаление строк заголовка), но когда я добавляювторая логика (которую я не уверен, если это правильный путь) с AND ничего не возвращается.

awk -F$'\t' '/^[^#]/ && $2 !~ /^0\\/0/ {print;}' test.txt

Входной файл

#meta1
#meta2
10  0/2:1/2
10  0/0:5/5
10  2/6:0/0

Выходной файл

10  0/2:1/2
10  2/6:0/0

1 Ответ

0 голосов
/ 11 сентября 2018

РЕДАКТИРОВАТЬ: Поскольку OP изменил Input_file, поэтому добавление решения в соответствии с предложениями Эд сэр в комментариях.

awk '!(/^#/ || $2~/^0\/0/)'  Input_file

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

awk '!/^#meta/ && $2!="0/0"'  Input_file

ИЛИ

awk '!/^#/ && $2!="0/0"'  Input_file

ИЛИ

awk '!(/^#/ || $2=="0/0")'  Input_file

SET BEGIN{FS=OFS="\t"} в случае, если ваш Input_file разделен TAB, и вам нужно OFS выводить как \t TAB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...