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

  • Android Police

    Android Poli

    21 NİSAN 2010
  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • newport83

    newport83

    19 HAZİRAN 2006