繁体   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