Başka hangi komut satırı programlarında bu çıkış formatı var?


1

hg logKomut satırı çıktısını çözümlemek için küçük bir program yazdım.

changeset:   90:abcdef012345
tag:         tip
user:        me
date:        Sat Apr 30 17:42:05 2011 -0700
summary:     Made another change

changeset:   89:def012345abc
user:        me
date:        Sat Apr 30 16:52:19 2011 -0700
summary:     Made a change

Aslında, programım her yeni kayıt boş bir satırla ayrıldığı sürece herhangi bir "anahtar: değer" çiftini ayrıştırmaya yetecek kadar geneldir.

Şimdi delirmek ve diğer bazı (gerçek) verilere karşı çalıştırmayı denemek istiyorum. Bunun gibi "key: value" verisini üreten başka bir program var mı?


Sık kullandığım, belirsiz olanı UPS'imin apcaccessistatistiklerini görüntülemek. Ancak bunlardan birine sahip değilseniz, iyi bir çıktı vermeyeceksiniz.
LawrenceC

Yanıtlar:


0

Tr ve sed komutlarıyla iki kaydı daha kayıt benzeri bir biçime dönüştürebilirsiniz:

echo 'changeset:   90echo 'changeset:   90:abcdef012345
tag:         tip
user:        me
date:        Sat Apr 30 17:42:05 2011 -0700
summary:     Made another change

changeset:   89:def012345abc
user:        me
date:        Sat Apr 30 16:52:19 2011 -0700
summary:     Made a change
' | tr '\n' ';' | sed 's/;;/\n/' 
changeset:   90:abcdef012345;tag:         tip;user:        me;date:        Sat Apr 30 17:42:05 2011 -0700;summary:     Made another change
changeset:   89:def012345abc;user:        me;date:        Sat Apr 30 16:52:19 2011 -0700;summary:     Made a change;;

Ancak, eğer sizin formatınız buysa, CSV benzeri bir formata giderdim. Başlığı her satırda ve ';' yerine sekmelerle tekrarlamanıza gerek yoktur. veya ',' (içerik olarak sekmelere ihtiyacınız yoksa), elle ayrıştırmak, satırları karşılaştırmak, grep ile satırları tutmak ve LibreOffice ile grafik oluşturmak veya verileri koymak için çok iyi bir format alırsınız. bir veritabanına.

Daha değişken bir formata sahipseniz, xml daha iyi olabilir - kendi başına değil, çünkü orada çok fazla araç var.

In "Unix Programlama Sanatı yazma ESRS 5. Bölümü , belki de iş için biraz ilham.


Ya anlamıyorum ya sen anlamıyorsun. Bu hgformat, benim değil. Çoktan çözümleyebiliyorum ve yine de tr ve sed kullanamayan sistemler üzerinde çalışmak için programımı yazdım. Sadece bu çıktı formatını paylaşan diğer programları arıyorum. TAOUP okudum ama bu kez Unix olmayan platformların geleneğini takip ediyorum: metin benim için yeterli olsaydı, bir çözümleyici yazmazdım! :-)
Ken

Hangi platformda tr ve sed yok? Gnu araçları için win32 portlarını biliyor musunuz ?
kullanıcı bilinmeyen

Zaman zaman üzerinde çalışmak zorunda olduğum Windows sunucuları buna sahip değil, ama bu tamamen alakasız çünkü soru başka bir programın bu formatı ne ürettiği ile ilgili, hg logçıktıların CSV'ye nasıl dönüştürüleceği değil .
Ken

Şey - CSV dosyalarını ayrıştırmak için milyonlarca program var, bu yüzden formatı CSV'ye dönüştürürsünüz, oradan başka bir şeye uyarlamak için dönüştürebilirsiniz - bir SQL Veritabanına koyabilir, OpenOfficeCalc veya başka bir elektronik tablo programı ile açabilirsiniz.
kullanıcı bilinmeyen

Ne yapmaya çalıştığımı düşündüğünden emin değilim. hg logÇıktıyı bir SQL veritabanına koymak veya bir elektronik tabloyla açmak umrumda değil ve yanlışlıkla bu izlenimi bir şekilde verirsem özür dilerim. Söz konusu hg logçıktının kullanımı sadece aradığım şeyin bir örneği olarak , işlem için ihtiyacım olan şey değildi.
Ken
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.