使用awk打印从零开始的行号
有谁能告诉我如何使用awk打印包括零在内的行号吗 这是我的输入文件 当我运行下面的awk命令时,我得到 而我的预期产出是 如何打印从零(0)开始的行号?NR从1开始,因此使用使用awk打印从零开始的行号,awk,Awk,有谁能告诉我如何使用awk打印包括零在内的行号吗 这是我的输入文件 当我运行下面的awk命令时,我得到 而我的预期产出是 如何打印从零(0)开始的行号?NR从1开始,因此使用 awk '{print NR-1 "," $0}' 使用awk i从0开始,i++将递增i的值,但返回递增之前保留的原始值 awk '{print i++ "," $0}' file 如果Perl是一个选项,您可以尝试以下方法: perl -ne 'printf "%s,$_" , $.-1' file $\uu是行
awk '{print NR-1 "," $0}'
使用awk
i从0开始,i++
将递增i的值,但返回递增之前保留的原始值
awk '{print i++ "," $0}' file
如果Perl是一个选项,您可以尝试以下方法:
perl -ne 'printf "%s,$_" , $.-1' file
$\uu
是行$。
是行号是awk之外的另一个选项,它允许选项-v
用于设置起始值,而-n
用于左、右和右,前导零对齐。您还可以使用-s
作为字段分隔符,例如-s“,”
用于行号和数据之间的逗号分隔
在Unix环境中,这可以按如下方式完成
cat <infile> | ...other stuff... | nl -v 0 -n rz
cat words.txt|nl-v 0-n rz
输出:
是不是
awk'{print NR-1,$0}'
?@user790049,不要让我们通过链接来找出问题所在。显示一个小样本输入,并告诉我们您希望输出是什么样子。很抱歉,我们将从下一次开始处理这些文件的链接已断开。你能把问题包括进去吗?+对于比NR-1
短的一个字符,你也可以使用awk'{print i++,$0}'OFS=,file
但这会更长。@Jotne出去打高尔夫球时,awk'$0=i++,“$0'
比它强;-)最好将输出字段分隔符设置为逗号:awk-v OFS=“,”{print NR-1,$0}文件
。如果要查找自定义起始值和其他自定义设置,请根据下面的nl
查看答案。
cat <infile> | ...other stuff... | nl -v 0 -n rz
nl -v 0 -n rz <infile>
echo "Here
are
some
words" > words.txt
000000 Here
000001 are
000002 some
000003 words