2011-05-12 20 views

cevap

9

Örnek verilerinizin son satırında ilk sütuna sahip olmadığınızdan, sabit genişlik sütun olarak ayrıştırmak: bayt uzaklıklar ile kesilmiş

awk 'BEGIN {FIELDWIDTHS = "2 1"} {print $2}' 
+1

@ "James C", fieldswidth = "2 1" ne anlama geliyor? – user678070

+1

, ilk sütunun iki karakter genişliğinde ve ikinci sütunun bir karakter genişliği olan –

+1

Ne yazık ki, bu yalnızca naif örnek için çalışır ve genel soruyu hiç ele almaz. Romanın cevabı doğru ve kabul edilebilir. –

43
  1. cut -d' ' -f2
  2. awk '{print $2}'
+0

'-d' "sınırlayıcı" anlamına gelir:

cut -b 3 

kullanımı sondaki sütun kaldırmak sed , hatırlamak için – ninjagecko

+1

Bunlardan hiçbiri örnek verilerle çalışmamaktadır. Son satırın yalnızca ikinci sütunu var. –

+0

bir dizi boş satır basıyor, cut -d '' -f1 c | awk '{print $ 1}' ancak kaynak dosyasından her iki sütunu birleştirdi .. – user678070

2

kullanımlar:

sed s/..// 
+0

Sadece naif örnek için çalışır; Genel soruyu ele almaya bile başlamaz. –