[英]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.