如何在shell中插入带序列号的列?

时间:2015-08-17 01:32:34

标签: linux shell awk

我有一个包含4个列的文件。

public class GlobalVar{

    private static String email = "";

    public static void setEmail(String email){
        this.email = email;
    }

    public static String getEmail(){
        return this.email;
    }
}

我需要为序列号插入一列,如:

ifile.txt
2 3 4 2
2 3 4 1
4 3 4 3
4 5 3 5
. . . .

我尝试使用ofile.txt 1 2 3 4 2 2 2 3 4 1 3 4 3 4 3 4 4 5 3 5 5 . . . . . . . . . ,但未成功

awk

2 个答案:

答案 0 :(得分:3)

您可以使用内置的NR,这是一个基于1的记录计数器。

awk '{print NR, $1, $2, $3, $4}' ifile.txt > ofile.txt

通用表格是:

awk '{print NR, $0}'

无论有多少字段,都会打印出整个记录(以序列号为前缀)。

答案 1 :(得分:2)

或者,您可以使用nl,这样可以更好地控制格式化

nl filename

或者,对于基本编号

cat -n filename