SORU
16 Ocak 2009, Cuma


Toplam tamsayılar, her satıra bir kabuk komutu?

Metin olarak giriş birden fazla satır, her satırda tek bir tamsayı içeren ve bu tamsayıların toplamı çıkışı kabul edecek bir komut arıyorum.

Biraz arka plan, bir günlük dosyası içeren bir zamanlama ölçümleri, grepping için ilgili satır ve bir bit sed yeniden biçimlendirme edebilirim listesi tüm zamanlara O dosya. Toplam ancak çalışmak istiyorum, ve aklımı final toplamı yapmak için bu ara çıkış borusu için herhangi bir komut için boş geçti. Her zaman geçmişte expr kullandım, ama RPN modunda çalıştığı sürece, bu (ve o zaman bile bunun zor olacağını) ile başa çıkmak için gidiyor sanmıyorum.

Neyi kaçırıyorum? Verilen bu muhtemelen birkaç yolu bunu başarmak için, mutlu etmek için okumak (ve upvote) herhangi bir yaklaşım bu eserler bile başka biri var zaten gönderildi farklı bir çözüm yapar bu işi.

İlgili soru: Shortest command to calculate the sum of a column of output on Unix? (6 ** kredi)


GüncellemeVay be, beklendiği gibi bazı güzel cevaplar var. Kesinlikle genel olarak komut satırı aracı olarak awk daha derin bir inceleme vermek zorunda kalacağım gibi görünüyor!

CEVAP
16 Ocak 2009, Cuma


Awk Bit mi yapmalıyım?

awk '{s =$1} END {print s}' mydatafile

Not: awk bazı sürümleri olursa 2^31 (2147483647) aşan eklemek için gidiyoruz eğer bazı garip davranışları var - daha fazla arka plan için yorum bakın. Bir öneri 4* *baskı yerine, basit bir beşgen kullanmaktır kullanmaktır

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bigky226

    bigky226

    11 HAZİRAN 2006
  • Distractify

    Distractify

    1 Aralık 2011
  • ibebrent

    ibebrent

    23 Temmuz 2007