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

  • guau . .

    guau . .

    25 Ocak 2008
  • katherine gomez

    katherine go

    1 Aralık 2011
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011