2017-03-06 78 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

相关问题