Kiedy sprawdzam listę procesów i „wyszukuję” te, które są dla mnie interesujące, to grep
samo w sobie jest uwzględniane w wynikach. Na przykład, aby wyświetlić listę terminali:
$ ps aux | grep terminal
user 2064 0.0 0.6 181452 26460 ? Sl Feb13 5:41 gnome-terminal --working-directory=..
user 2979 0.0 0.0 4192 796 pts/3 S+ 11:07 0:00 grep --color=auto terminal
Zwykle ps aux | grep something | grep -v grep
pozbywam się ostatniego wpisu ... ale nie jest elegancki :)
Czy masz bardziej elegancki sposób na rozwiązanie tego problemu (poza opakowaniem całego polecenia w osobny skrypt, co również nie jest złe)
ps ux | awk '/name/ && !/awk/ {print $2}'
grep -v grep
robi ta część?
grep -v grep
wyklucza grep
z wyników grep. Jeśli grep jest używany w połączeniu z ps, to proces grep (z argumentami grep) również zostanie wyświetlony, zaśmiecając wyniki. grep -v grep jest powszechnym sposobem uniknięcia tego