[英]Remove column using awk
I want to remove column, 我想删除列,
this is my command: 这是我的命令:
awk -F"|" -v OFS="|" '{ $1=$2=$3"" ; $0=substr($0,37) } 1' PURCHASE_testing.csv > testing.csv
My input: 我的意见:
Account num|Car|Type|Name|Class|Price
xxxxxxxxxx |A |Honda| Fara |A|rm20k
xxxxxxxxxx | B | Proton|Afiq |B|rm40k
I managed to remove first 3 column in row 1 but in row 2 and 3 the string not manage to remove. 我设法删除第1行中的前3列,但在第2行和第3行中,该字符串无法删除。
My output: 我的输出:
Name Class Price
0101 Fara A rm2
1234 Afiq B rm4
I want output be: 我想输出是:
Name Class Price
Fara A rm2
Afiq B rm4
To print all but first 3 columns use the following approach: 要打印除前3列以外的所有列,请使用以下方法:
For the input PURCHASE_testing.csv
file contents: 对于输入PURCHASE_testing.csv
文件内容:
Account num|Car|Type|Name|Class|Price
0101 |A |Honda| Fara |A|rm20k
1234 |B | Proton|Afiq |B|rm40k
awk -F"|" '{$1=$2=$3=""; print $0}' PURCHASE_testing.csv > testing.csv
Now, the testing.csv
file contents should look like: 现在, testing.csv
文件内容应如下所示:
Name Class Price
Fara A rm20k
Afiq B rm40k
try this - 试试这个 -
awk 'BEGIN{FS="|"} {print $4,$5,substr($6,1,4)}' f
Name Class Pric
Fara A rm20
Afiq B rm40
Explanation : substr($6,1,4) fetching 1 to 4 character from column 6. 说明:substr($ 6,1,4)从第6列中获取1到4个字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.