SORU
15 EYLÜL 2009, Salı


Shell/Command STDOUT inci hat almak için Bash

Sen STDOUT inci hat almak sağlayacak herhangi bir bash komut var mı?

Yani, bu alacağını bir şey

$ ls -l
-rw-r--r--@ 1 root  wheel my.txt
-rw-r--r--@ 1 root  wheel files.txt
-rw-r--r--@ 1 root  wheel here.txt

ve böyle bir şey yapmak

$ ls -l | magic-command 2
-rw-r--r--@ 1 root  wheel files.txt

Farkındayım bunun kötü bir uygulama yazarken komut olması gerektiği gibi, yeniden, AMA ne zaman çalışma ile kabuk her geçen gün olacak kullanışlı beni edebilmek için filtre benim STDOUT böyle bir şekilde.

Ben de bu yarı-önemsiz yazmak için komut tamponu (STDOUT, belirli bir hat dönüş) olacağı, ama eğer bazı varsa bilmek istiyorumstandartkomut bensiz bir yere bir script bırakarak kullanılabilir olacak bunu yapmak için kabuk.

CEVAP
15 EYLÜL 2009, Salı


sed, sadece çeşitli kullanarak:

ls -l | sed -n 2p

Kullanarak bu alternatif, daha verimli görünüyor beri durur okumaya giriş yaparken gerekli çizgi baskılı, Mayıs üretmek bir SİGPİPE beslenme süreci, bir devre oluşturmak istenmeyen bir hata iletisi:

ls -l | sed -n -e '2{p;q}'

ls SİGPİPE bu ayaklanmaz bu bir komut değil ama ben genelde ilk, zaten yazın daha kolay olan) kullanan yeterince sık gördüm.

Satır: bir dizi için

ls -l | sed -n 2,4p

Çizgiler: birkaç aralıkları için

ls -l | sed -n -e 2,4p -e 20,30p
ls -l | sed -n -e '2,4p;20,30p'

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Chrome

    Google Chrom

    1 EYLÜL 2008
  • ShayLoss

    ShayLoss

    5 Kasım 2009
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009