1
我有一個.csv文件與一些地址和管理代碼。我想在最後一列(英國郵政編碼)上進行分類。我試圖通過將最後一列移到開頭然後使用sort
來重新排序文件,但我遇到了一個奇怪的問題。 這裏有一些數據:
$ head T201311ADDR\ BNFT.CSV
201311,A81001,THE DENSHAM SURGERY ,THE HEALTH CENTRE ,LAWSON STREET ,STOCKTON ,CLEVELAND ,TS18 1HU
201311,A81002,QUEENS PARK MEDICAL CENTRE ,QUEENS PARK MEDICAL CTR ,FARRER STREET ,STOCKTON ON TEES ,CLEVELAND ,TS18 2AW
201311,A81003,THE GALLAGHER PRACTICE ,THE HEALTH CENTRE ,VICTORIA ROAD ,HARTLEPOOL ,CLEVELAND ,TS26 8DB
201311,A81004,WOODLANDS ROAD SURGERY ,6 WOODLANDS ROAD , ,MIDDLESBROUGH ,CLEVELAND ,TS1 3BE
201311,A81005,SPRINGWOOD SURGERY ,SPRINGWOOD SURGERY ,RECTORY LANE ,GUISBOROUGH , ,TS14 7DJ
我能得到的最後一列:
$ head T201311ADDR\ BNFT.CSV | awk -F ',' 'BEGIN {OFS = ","} {print $NF}'
TS18 1HU
TS18 2AW
TS26 8DB
TS1 3BE
TS14 7DJ
但是,如果我打印任何東西就行了,它會覆蓋它。
$ head T201311ADDR\ BNFT.CSV | awk -F ',' 'BEGIN {OFS = ","} {print $NF, $2}'
,A81001U
,A81002W
,A81003B
,A81004
,A81005J
,A81006T
,A81007W
,A81008
,A81009
,A81011W
顯然沒有用。我試過使用我剛剛編輯過的測試文件,但沒有看到這種行爲,所以它與這個特定的文件有關。有什麼建議麼?有一些換行符存在已知問題嗎?我正在使用Mac,我懷疑這個文件來自PC。這是來自英國的NHS數據。
你有你的關閉和開啓之間的寄生分號牙套...... –
您的文件中可能存在一些怪異(Windows式)字符,嘗試「貓-vet你的文件「並尋找^ M。 –
你可以用'tr'去除任何奇怪的字符。要刪除回車(\ r)做「tr -d'\ r'< inputfile > outputfile」 –