У меня довольно простой awk
вопрос:
У меня есть следующий файл test1.txt
ids op count
id1 op1 1
id7 op1 2
id13 op1 3
id4 op1 4
id10 op1 5
id11 op2 1
id2 op2 2
id8 op2 3
id14 op2 4
id5 op2 5
Я хочу исключить определенные строки на основе столбцов op
и count
. Например, исключите в op2
все, что имеет count
от 2 до 5, и в итоге получите следующее test2.txt
:
ids op count
id1 op1 1
id7 op1 2
id13 op1 3
id4 op1 4
id10 op1 5
id11 op2 1
id5 op2 5
Я ищу код awk
, который будет делать что-то вроде:
awk '{
if($2 ~ /op2/ && $3>1 && $3<5)
skip
else
print $0
}' test1.txt > test2.txt
Этот код действительно работает. Но я ценю любые предложения для 1 лайнеров.
Большое спасибо!
id5 op2 5
, а не диапазон. Также я хочу исключить вещи, которые удовлетворяют условию не извлекать их. 17.11.2017$2=="op2" && $3<5 && $3>1
дает то, что я искал. 17.11.2017