在多行中包含带有行号的列

Include column with row number in multiple rows

我想在多行中包含额外的列数和要增加的数字,例如:

db1              CIRBS                            500           10
db2              CITEMP                           500           7
db5              IN_DATA                          500           6
dbb              IN_INDEX                         500           3

最终视图:

1 db1              CIRBS                            500           10
2 db2              CITEMP                           500           7
3 db5              IN_DATA                          500           6
4 dbb              IN_INDEX                         500           3

使用 awk:

awk '{ print NR, [=10=] }' filename

NR是当前记录(即行)的编号,[=12=]是整行,所以这将在每行之前打印一个升序数字。

在 perl 中,您将使用 $. - 当前文件的当前行号。

use strict;
use warnings;
use English;

while ( <DATA> ) {
   # $. and $_ 
   print $INPUT_LINE_NUMBER . " " . $ARG;
}

__DATA__
db1              CIRBS                            500           10
db2              CITEMP                           500           7
db5              IN_DATA                          500           6
dbb              IN_INDEX                         500           3

为了获得更简单的答案,cat -n 也应该这样做。

  -n, --number
      number all output lines

有猫:

cat -n infile

与 nl:

nl -ba infile

使用 grep:

grep -n . infile

使用 GNU sed:

sed = infile | sed 'N; s/\n/ /'

使用 GNU sed + xargs:

sed = infile | xargs -n2

使用 awk:

awk '{ print NR, [=15=] }' infile

或者:

awk '[=16=] = NR OFS [=16=]'   infile

使用 perl:

perl -pne 's/^/$. /' infile