GNU/Linux >> Znalost Linux >  >> Linux

Jak zadat více mezer pro oddělovač pomocí řezu?

Ve skutečnosti awk je přesně nástroj, který byste měli hledat:

ps axu | grep '[j]boss' | awk '{print $5}'

nebo se můžete zbavit grep celkem od awk ví o regulárních výrazech:

ps axu | awk '/[j]boss/ {print $5}'

Ale pokud z nějakého bizarního důvodu opravdu nemůžete použijte awk , můžete udělat i další jednodušší věci, jako je nejprve sbalit všechny mezery na jediné místo:

ps axu | grep '[j]boss' | sed 's/\s\s*/ /g' | cut -d' ' -f5

To grep trik, mimochodem, je úhledný způsob, jak získat pouze jboss procesy a ne grep jboss jedna (stejně jako pro awk také varianta).

grep proces bude mít doslovný grep [j]boss v příkazu procesu, takže nebude zachycen grep sám, který hledá třídu znaků [j] následuje boss .

Toto je šikovný způsob, jak se vyhnout | grep xyz | grep -v grep paradigma, které někteří lidé používají.


awk verze je pravděpodobně nejlepší způsob, jak jít, ale můžete také použít cut pokud nejprve stisknete opakování pomocí tr :

ps axu | grep jbos[s] | tr -s ' ' | cut -d' ' -f5
#        ^^^^^^^^^^^^   ^^^^^^^^^   ^^^^^^^^^^^^^
#              |            |             |
#              |            |       get 5th field
#              |            |
#              |        squeeze spaces
#              |
#        avoid grep itself to appear in the list

Rád k tomu používám příkaz tr -s

 ps aux | tr -s [:blank:] | cut -d' ' -f3

Tím se všechna bílá místa zmenší na 1 místo. Tímto způsobem je podle očekávání respektováno použití mezery jako oddělovače.


Linux
  1. Linux – Jak omezit přístup k internetu pro konkrétního uživatele v síti LAN pomocí Iptables v Linuxu?

  2. Jak zvýraznit slovo ve výstupu „kočka“?

  3. Jak odstranit předponu slova pomocí grep?

  1. Jak hledat přesné slovo, pokud má řetězec v sobě tečku

  2. Jak najít poslední pole pomocí 'cut'

  3. Jak zjistit, jaké rozhraní používám pro připojení k internetu?

  1. Jak používat Linuxový příkaz grep

  2. Linux – Jak vědět, co dělat Grep v Dmesg?

  3. Jak určím soubor klíče pro sshfs?