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
Aslında awk
tam 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.
Dize tek boşluk ile 2 veya daha fazla ...
Django nasıl bir görünüm içinde 2 ya d...
Nasıl Vim veya Linux sekmeler için boş...
Nasıl Windows altında bir hizmet olara...
Nasıl boşluk kaçmak için linux scp kop...