我的CSV數據文件是這樣的正則表達式疑問
title,name,gender
MRS.,MADHU,Female
MRS.,RAJ KUMAR,male
MR.,N,Male
MRS.,SHASHI,Female
MRS.,ALKA,Female
現在你可以看到我想避免像線2和3的所有數據(即沒有空白空間或數據長度> = 3)
MRS.,RAJ KUMAR,male
MR.,N,Male
,並將其放置在一個名爲rejected_list.csv文件,其餘全部走在一個叫clean_list.csv
因此這裏的文件是我的GAWK腳本它
gawk -F ',' '{
if($2 ~ /\S/ &&
$1 ~ /MRS.|MR.|MS.|MISS.|MASTER.|SMT.|DR.|BABY.|PROF./ &&
$3 ~ /M|F|Male|Female/)
print $1","$2","$3 > "clean_list.csv";
else
print $1","$2","$3 > "rejected_list.csv" } ' \
< DATA_file.csv
我的問題是這樣的腳本不能識別「\ S」的字符集(除空間中的所有字母)..它是選擇的所有單詞開始用S或具有S和拒絕其餘
簡單的正則表達式像/([AZ])/到位/ s的作品的完美,但正如我放置的{3,...}的腳本失敗的限制..
gawk -F ',' '{
if($2 ~ /([A-Z]){3,}/ &&
$1 ~ /MRS.|MR.|MS.|MISS.|MASTER.|SMT.|DR.|BABY.|PROF./ &&
$3 ~ /M|F|Male|Female/)
print $1","$2","$3 > "clean_list.csv";
else
print $1","$2","$3 > "rejected_list.csv" } ' \
< DATA_file.csv
我已經試過各種正則表達式的組合與「 *','+'等,但我不能得到我想要的...
誰能告訴我什麼是問題M&
我對轉換字符有一些好運 - 所以'$ 2〜/([AZ])\ {3,\}/&&等等' – 2011-06-06 15:43:26