SORU
22 AĞUSTOS 2011, PAZARTESİ


linux sınırlayıcı için daha fazla boşluk belirtmek için nasıl yardım kesme?

Kes komutu ile daha fazla parametre alan bir ayırıcı belirtmek için herhangi bir yolu var mı? ("") gibi mi ? Örneğin: aşağıdaki dize, değer vermiyor gibi '3744', ne demeliyim?

$ps axu | grep jboss

jboss     2574  0.0  0.0   3744  1092 ?        S    Aug17   0:00 /bin/sh /usr/java/jboss/bin/run.sh -c example.com -b 0.0.0.0

cut -d' ' istediğim bir şey değil, sadece tek bir alan için. awk ya ben ne arıyorum, ama nasıl 'değil'?

teşekkürler.

CEVAP
22 AĞUSTOS 2011, PAZARTESİ


Aslında awktam olarakaraç içine bakarak olmalıdır:

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

veya awk düzenli ifadeler biliyor beri grep tamamen bir kenara atarsın:

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

Ancak, bazı garip nedenle, gerçektenolamazawk diğer basit şeyler var, tüm boşlukları tek bir boşluk önce: çöküş gibi kullanın

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

grep hile, bu arada, bir düzgün yol için, sadece jboss işlemler ve grep jboss (ditto için awk varyant olarak).

grep işleyecek bir edebi grep [j]boss işlemi komut olmayacak tarafından yakalanan grep kendisi, aradığı karakteri sınıf [j] ardından boss.

Bu bazı insanları kullanan | grep xyz | grep -v grep paradigma önlemek için iyi bir yoldur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • justintimberlakeVEVO

    justintimber

    2 EYLÜL 2009
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010