2010-04-14 25 views
5

Sekmelerle ayrılmış sütunlara sahip bir txt dosyası var ve bu dosyaya dayanarak, yalnızca bazı sütunlardan bilgi içeren yeni bir dosya oluşturmak istiyorum. Sütun 5 boşluklar örneğin 123 Street içerdiğinde dışında çalışırSeçili sütunlar sekmelerle nasıl ayrılır?

awk '{ print $1, $5 }' filename > newfilename 

, sadece 123 gösterir ve sokak başka bir sütun olarak kabul edilir:

Bu ne var şimdi olduğunu.

Yapmaya çalıştığım şeyi nasıl başarabilirim?

cevap

4

Sen sekme olarak field separator belirtebilirsiniz: Böyle

awk 'BEGIN { FS = "\t" } ; { print $1, $5 }' filename > newfilename 

Veya from the command line:

awk -F"\t" '{ print $1, $5 }' filename > newfilename 
1

Ne basit kabuk COMAND kesti dersiniz?

while IFS=$'\t' read -a cols; do 
    printf "%s\t%s\n" "${cols[0]}" "${cols[4]}"; 
done <in.txt> newfile.txt 

Bu yeni dosya içine sekmeler ile ayrılmış 1 ve 5. sütun kurtaracak:

çok basit ama şu şekilde Bash sözdizimi kullanabilirsiniz işini

cut -d "\t" -f 1,5 filename > newfilename 
İlgili konular