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

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • Julia Graf

    Julia Graf

    6 Mayıs 2006