簡體   English   中英

Unix,使用awk刪除第一列

[英]Unix , Delete first column using awk

我有一個名為test.txt的文件,其中包含以下內容
123,2,1
我想在沒有“123”的情況下打印文件的內容
我使用了以下內容
awk -F, '{print substr($0, index($0, $2))} text.txt'

它不能正常工作,它打印23,2,1
但是當我為這個文本“123,5,1”運行它時,它沒有問題(它打印5,1

您可以使用sub()函數並刪除第一個字段,無論它是什么。

$ echo '123,2,1' | awk '{sub(/[^,]+,/,"")}1' 
2,1

$ echo '23,2,1' | awk '{sub(/[^,]+,/,"")}1'
2,1

使用cut

cut -d, -f2- file

-d, uses , as delimiter和-f2-字段2打印到最后。

另一個awk

echo '123,2,1' | awk -F, '{$1="";sub(/,/,"")}1' OFS=,
2,1

刪除第一個字段,然后刪除分隔符。

暫無
暫無

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

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