* nix

2012-08-26 13 views
14

'daki sütun komutuyla listeleri biçimlendirme bash'taki girişlerin listesini biçimlendirmeye çalışıyorum ve column komutunu kullanıyorum. Ancak, -t seçeneği, herhangi bir boşluk kullanmayı sınırlayıcı olarak kullanmamı, bu da sahip olduğum veriler için çalışmaz (boşluk ve sekmeler içerir). Tek sütun sınırlayıcısı olarak yeni satır karakteri belirtmek için -s bayrağını nasıl alacağımı anlayamıyorum. Gerçekten anlamıyorum, Ancak* nix

column -t -s $'\n' list-of-entries.txt 

: Teoride

+2

dosya sınırlandırılmış bir sekmenin oldukça baskı sürümü çalışıyor? –

+0

'Sütunun' Linux'ta (ve Mac OS X 10.7.4'de) bulunduğunu unutmayın. Unix'in diğer varyantlarında mevcut değildir; Örneğin, POSIX tarafından standartlaştırılmamıştır. –

+3

Eğer 3 sütun çıktı istiyorsanız, 'pr -l 1 -t -3' üretmek istediğiniz sütuna çok yakın olacaktır. N sütunları için 3’ü N’yi değiştirin; bir genişlik belirtmek için, '-w 120' veya her neyse ekleyin. –

cevap

13

, bu C tarzı kaçış dizilerini destekler sadece dışında '...' gibidir $'...' gösterim kullanabilirsiniz, bir yeni satır belirtmek için bunun amacı. Bir satır satır ayırıcı, yani $'\n' bir kolon-sınırlayıcı hiç bir kolon-sınırlayıcı olmaması eşdeğerdir:

girişi sadece bir sütun sahip olarak tedavi edilmesi anlamına gelir
column -t -s '' list-of-entries.txt 

; bu yüzden hiç column kullanmayan eşdeğerdir:

cat list-of-entries.txt 

O -t bayrak amacı girişinin her satırı haline sağlamaktır çünkü aslında değil-t bayrağını kullanmak istiyorsunuz gibi görünüyor Bir satır çıktı ve istediğin gibi değil. Bunu istemek tahmin ediyorum: bir değer olarak list-of-entries.txt her satırı davranacak

column list-of-entries.txt 

column çıkışların olduğu masanın bir hücrede konması.

+0

Sorunun karşılaştığı asıl sorunun tam olarak anlaşılmasıyla ilgili harika bir açıklama! – YaOzI

+0

Kafanın üzerinde sağa vurdu! Büyük açıklama için teşekkürler! –

6

Bu çıkışa bazı örnek girişi ve çıkışı gönderebilir

column -t -s $'\t' list-of-entries.txt 
İlgili konular