簡體   English   中英

使用awk刪除列

[英]Remove column using awk

我想刪除列,

這是我的命令:

awk -F"|" -v OFS="|" '{ $1=$2=$3"" ; $0=substr($0,37) } 1' PURCHASE_testing.csv > testing.csv

我的意見:

Account num|Car|Type|Name|Class|Price
xxxxxxxxxx |A  |Honda| Fara |A|rm20k
xxxxxxxxxx | B | Proton|Afiq |B|rm40k

我設法刪除第1行中的前3列,但在第2行和第3行中,該字符串無法刪除。

我的輸出:

       Name      Class      Price              
0101   Fara       A          rm2
1234   Afiq       B          rm4

我想輸出是:

Name Class Price
Fara   A   rm2
Afiq   B   rm4

要打印除前3列以外的所有列,請使用以下方法:

對於輸入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

現在, testing.csv文件內容應如下所示:

Name Class Price 
 Fara  A rm20k 
Afiq  B rm40k

試試這個 -

awk 'BEGIN{FS="|"} {print $4,$5,substr($6,1,4)}' f
Name Class Pric
Fara  A rm20
Afiq  B rm40

說明:substr($ 6,1,4)從第6列中獲取1到4個字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM