Несколько условий поиска с командой поиска SWK Column

Если ваше устройство / dev / sda2 не находится "под" LVM, вы не сможете управлять им через LVM.

0
10.08.2018, 17:29
3 ответа

Чтобы добавить условие и , используйте &&здесь:

awk -F'\t' '$2~/mouse/ && $3 ~ /keyboard/' allcombined.txt
                       ^
                        \---

(где я произвольно выбрал, чтобы поле 3 соответствовало «клавиатуре».

Чтобы добавить условие или , используйте ||:

.
awk  -F'\t' '$2~/mouse/ || $2 ~ /keyboard/' allcombined.txt

(здесь поле 2 может соответствовать «мыши» или «клавиатуре» ).

Вам нужно будет использовать круглые скобки, когда ваша логика выходит за пределы трех элементов:

awk  -F'\t' '($2~/mouse/ || $2 ~ /keyboard/) && $4 ~ /CIO/' allcombined.txt
2
28.01.2020, 02:31

В вашем коде awkзаставьте тест говорить

$2 ~ /mouse/ || $2 ~ /keyboard/

или измените ||на &&для "и".

Обратите внимание, что это будет соответствовать регулярному выражению(/mouse/будет соответствовать строкеa mouse called Henry). Чтобы сделать точное сравнение строк, используйте, например. $2 == "mouse"и т. д.

1
28.01.2020, 02:31
$ awk  -F'\t' '$2~/(mouse|keyboard)/ && $3~/(x|y)/'
0
28.01.2020, 02:31

Теги

Похожие вопросы