我想这个awk命令awk "{print NR, $0}" file1.csv
,但它添加行号后面有一个空格,而不是逗号。不能行号添加到每个行的开头使用awk
我试过其他的命令具有相同的结果
awk "{print NR "," $0}" file1.csv
而且我有一个错误的地方我用了一个单引号。
我使用Gawk的Windows上。我错过了什么?
谢谢
我想这个awk命令awk "{print NR, $0}" file1.csv
,但它添加行号后面有一个空格,而不是逗号。不能行号添加到每个行的开头使用awk
我试过其他的命令具有相同的结果
awk "{print NR "," $0}" file1.csv
而且我有一个错误的地方我用了一个单引号。
我使用Gawk的Windows上。我错过了什么?
谢谢
谢谢大家对你的答案,但我发现one的工作:上窗口我有双引号中逃脱:
awk "{print NR \",\" $0}" file1.csv
试试这个:
awk '{print NR "," $0}' file1.csv
例子:
[email protected]:~$ cat ff
aa, aa, aa, aa
aa, aa, aa, aa
aa, aa, aa, aa
aa, aa, aa, aa
aa, aa, aa, aa
aa, aa, aa, aa
[email protected]:~$ awk '{print NR "," $0}' ff
1,aa, aa, aa, aa
2,aa, aa, aa, aa
3,aa, aa, aa, aa
4,aa, aa, aa, aa
5,aa, aa, aa, aa
6,aa, aa, aa, aa
我已经试过了,但窗户抛出,无论我用一个单引号 – 2014-12-02 08:27:39
就包括单引号代替双引号里面的awk的代码。
awk '{print NR "," $0}' file1.csv
OR
awk -v FS="," -v OFS="," "{print NR,$0}" file.csv
和你以前的命令awk "{print NR, $0}" file1.csv
显示空间,而不是逗号,因为在打印部分默认,
将打印输出字段分隔符变量的值。默认值为OFS
,默认值为空格。所以它显示的是空格而不是逗号。
我已经试过了一个错误,但Windows抛出,无论我用一个单引号的错误 – 2014-12-02 08:28:43
使用"{print NR, $0}"
这样的逗号您是printing之后每项打印field separator。
在awk "{print NR "," $0}"
中使用双引号,你是分裂该命令用逗号。
你必须使用整个awk命令单引号:
awk '{print NR","$0}' file1.csv
或者使用printf声明
awk '{printf("%s,$0\n", NR,$0)}' f
的,
在awk
是默认的字段分隔符,一个空间。
为了得到你想要chnage的输出字段分隔符是什么。
awk -vOFS="," '{print NR, $0}' file1.csv
,答案没有实际解释解决的问题,是你曾经使用过的扩大shell变量(与'$'开始,如果你还看,其中双qoutes然后你会发现逗号双引号。没有加引号,这意味着它是由'awk'为逗号而这又看到代表'OFS'(空间) – 2014-12-02 08:29:43
只需使用单引号:'AWK“{打印NR‘’$ 0}” file' – fedorqui 2014-12-02 08:36:11