2016-04-13 55 views
0

Bir CSV dosyasından 2. sütunda bulunan "CN" kelimesiyle başlayan satırları filtrelemek ve yalnızca bu kayıtları içeren yeni bir CSV dosyası oluşturmak istiyorum. İşte Awk filter csv, string başlangıç ​​değeri

Bu dizimde

awk -F ";", '$1 ~ /CN/' $file > $TEMP/$file 

ile awk kullanıyorum Ama bu şekilde benim yeni dosya 1,2,3 ve ne kürek vardır

1;CN02BL00100000948999;;; 
2;R30011781FUL1A60131PLCN1G34CN800166C0S00009C6UCB;;; 
3;CN02BL00100000948569;;; 
4;R 30011781FUL1A60131PLFG1G3BCC800625C0S00009C6UCB;;; 

benim csv dosyası örneğidir ben sadece 1,3

sıra eklenmiştir istiyorum bu şekilde

yılında dizesinin baştan filtrelemek için^kullanmak için uğraş

ancak çıktı dosyası boş. Yanlış olan ne? Doğru sözdizimi hangisi?

cevap

0
awk -F ";" '$2 ~ /^CN/' $file > $TEMP/$file 

,. ve ayrıca $1

+0

için $2 ile eşleştirmeniz gerekir. Bu aptalca bir şey olduğunu biliyorum ve $ 1 $ 2 (her ikisi de denedim) hakkında emin değildi ama gerçek sorun virgül oldu ... –