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

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • Study with Substance P

    Study with S

    31 Mayıs 2008
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009