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