2017-03-06 73 views
0

我想刪除排除前3列後的空間,要刪除第一個字段的空白區域

任何人都可以幫助我嗎?

這是我的命令:

awk -F「|」 「{$ 1 = $ 2 = $ 3 = 「」;打印$ 0}「HIRE_PURCHASE_testing.csv> farahjihan.csv

我的輸出如:

xxxName  Car  Account Number 
xxxFara  Proton XXXXXXXXXXXXX 
xxxJiha  Saga  XXXXXXXXXXXXX 

我所需的輸出:

Name  Car  Account Number 
Fara  Proton XXXXXXXXXXXXX 
Jiha  Saga  XXXXXXXXXXXXX 

我的輸出像具有間隔除去後列

小x是空白

+1

請分享您的輸入文件。 –

+0

根據您的實際vs期望輸出,似乎您想要刪除前導空格(即在第一個「實際」列之前每行開始處的空格)。那是正確的嗎? – Nick

+0

ya @Nick如何刪除它? – Jiji

回答

1

這裏是命令刪除其刪除空間後出現的空間 -

cat f 
ew|ew|ew|Name|Car|Account Number 
ew|ew|dw|Fara|Proton|XXXXXXXXXXXXX 
ew|ew|dw|Jiha|Saga|XXXXXXXXXXXXX 


awk -F"|" '{$1=$2=$3=""; print $0}' f 
    Name Car Account Number 
    Fara Proton XXXXXXXXXXXXX 
    Jiha Saga XXXXXXXXXXXXX 


awk -F'|' '{for(i=1;i<=NF;i++)if(i!=x && i!=y && i!=z)f=f?f OFS $i:$i;print f;f=""}' x=1 y=2 z=3 f 
Name Car Account Number 
Fara Proton XXXXXXXXXXXXX 
Jiha Saga XXXXXXXXXXXXX 
+0

我不能運行它與數字1解析不正確......實際上** x **,小x是空格.. – Jiji

+0

我想刪除名稱字段的空白麪前,小x是空格@ VIPINKUMAR – Jiji

+0

@Jiji - 試試這個:awk -F「|」 「{$ 1 = $ 2 = $ 3 = 「」; print $ 0}'f | sed's/^ * // g' –

0

@Jiji:嘗試:

awk -F'|' '{$1=$2=$3="";sub(/^[[:space:]]+/,"");print}' HIRE_PURCHASE_testing.csv > farahjihan.csv 

由於您沒有向我們展示完整的INPUT_FILE所以根據你嘗試這種解決方案是。在取消$ 1,$ 2和$ 3後,我將從行首移除所有空間,如果這不符合您的要求,請發佈示例Input_file。

+0

如何將命令加入我的拆分命令?我嘗試但得到錯誤。我想做一個命令,使我能夠分裂,標題,預告片,最後我需要刪除前3列,這是我的命令** awk -v date =「$(date +」%d%m%Y「 )「-F \ | 'NR == 1 {h = $ 0;下一個} {file =「INITIATION_V1 _」$ 1「_」$ 2「_」date「.csv」; (打印文件)「EOF」a [文件]>文件}'HIRE_PURCHASE_testing.csv &&'打印(文件] ++?「」:「詳細」日期「」ORS h ORS)$ 0>文件} END { ** – Jiji

+0

Jiji:這是同一個問題嗎?它看起來不同,請清楚你的問題。 – RavinderSingh13

+0

我想加入到我的拆分命令如上,但它根本無法工作@RavinderSingh – Jiji

相關問題