Я сделал неверный тип в awk и получил неожиданный результат. Так что я запутался по этому поводу.
мой файл passwd имеет 39 строк.
# wc -l /etc/passwd
39 /etc/passwd
теперь «! ~» В awk показывает
# awk -F':' '$1 !~ /root/' /etc/passwd | wc -l
37
, в то время как ' ~! получил другой результат
# awk -F':' '$1 ~! /root/' /etc/passwd | wc -l
1
, после чего я удалил команду wc
, чтобы посмотреть, какую строку он получил
# awk -F':' '$1 ~! /root/' /etc/passwd
vbirduser1:x:1000:1001::/home/vbirduser1:/bin/bash
Это первый обычный пользователь в моем Linux.
Итак, что за '~!' значит в awk?