SORU
10 Kasım 2010, ÇARŞAMBA


Nasıl 'kes' komut olarak birkaç sıralı sınırlayıcı tedavi yapmak?

Sütun tabanlı, belirli (dördüncü) bir alan ayıklamak için çalışıyorum, 'uzay'-düzeltilmiş metin akışı. Aşağıdaki şekilde cut komutu kullanmaya çalışıyorum:

cat text.txt | cut -d " " -f 4

Ne yazık ki, cut bir sınırlayıcı olarak çeşitli alanlarda tedavi etmez. Awk ile taşınıyor olabilir

awk '{ printf $4; }'

ya sed

sed -E "s/[[:space:]] / /g"

boşlukları daraltmak için, ama varsa cut ve birkaç doğal sınırlayıcılar ile başa çıkmak için herhangi bir yol olduğunu bilmek istiyorum?

CEVAP
19 Aralık 2010, Pazar


Deneyin:

cat text.txt | tr -s ' ' | cut -d ' ' -f 4

tr man sayfası:

-s, --squeeze-repeats   replace each input sequence of a repeated character
                        that is listed in SET1 with a single occurrence
                        of that character

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008