在一组结果前面添加越来越多的数字

时间:2011-03-29 14:09:43

标签: linux bash

我有一个文件,想要在其前面添加数字,下面是一个例子:

我有一个包含以下内容的文件:

0.152

0.153

0.158

0.156

0.157

我希望在它前面加上越来越多的数字,如下所示:

1 0.152

2 0.153

3 0.158

4 0.156

5 0.157

ascendingnumber *空间* numberinfile

如果有人能提供帮助,我会非常感激。我有大量的数据,所以我需要多年才能手动添加数字。它的Linux东西。

非常感谢 一个苦苦挣扎的学生:)!

4 个答案:

答案 0 :(得分:1)

cat file | awk '{ print NR " " $1 }'

答案 1 :(得分:1)

使用awk

  

awk'{print NR“”$ 0}'input.txt> output.txt的

答案 2 :(得分:1)

几种方式

awk '{print NR,$0}' file
cat -n file
nl file
sed '=' file
ruby -ne 'print "#{$.} #{$_}"' file

当然,只是打击

c=1; while read -r line; do echo $((c++)) $line; done < file

答案 3 :(得分:1)

如果您的系统具有 nl 命令:

$ cat numbers.txt
0.152
0.153
0.158
0.156
0.157

$ nl -w 1 -s ' ' numbers.txt
1 0.152
2 0.153
3 0.158
4 0.156
5 0.157

-w 1 标志指定升序编号的列宽。 -s''标志告诉 nl 使用一个空格来分隔数字。