Can';t使用awk在每行的开头添加行号
我正在尝试这个awk命令Can';t使用awk在每行的开头添加行号,awk,Awk,我正在尝试这个awk命令awk“{print NR,$0}”file1.csv,但它添加的行号后面是空格,而不是逗号 我用同样的结果尝试了其他命令 awk "{print NR "," $0}" file1.csv 无论我在哪里使用单引号,都会出现错误 我正在Windows上使用Gawk。我错过了什么 谢谢试试这个: awk '{print NR "," $0}' file1.csv 例如: sdlcb@BlrLaite2-Generic:~$ cat ff aa, aa, aa, aa a
awk“{print NR,$0}”file1.csv
,但它添加的行号后面是空格,而不是逗号
我用同样的结果尝试了其他命令
awk "{print NR "," $0}" file1.csv
无论我在哪里使用单引号,都会出现错误
我正在Windows上使用Gawk。我错过了什么
谢谢试试这个:
awk '{print NR "," $0}' file1.csv
例如:
sdlcb@BlrLaite2-Generic:~$ 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
sdlcb@BlrLaite2-Generic:~$ 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
只需将awk代码包含在单引号中,而不是双引号中
awk '{print NR "," $0}' file1.csv
或
并且您的上一个命令
awk“{print NR,$0}”file1.csv
显示空格而不是逗号,因为默认情况下,,打印部分中的
将打印输出字段分隔符变量的值。默认情况下,OFS
的默认值为空格。所以它显示的是空格而不是逗号。使用逗号,就像在“{print NR,$0}”中一样。
打印后的每个术语都使用
在awk“{print NR”、“$0}”中使用双引号
可以用逗号分隔命令
整个awk命令必须使用单引号:
awk '{print NR","$0}' file1.csv
或者使用该语句
awk '{printf("%s,$0\n", NR,$0)}' f
谢谢你们所有人的回答,但我发现工作:在窗口上,我必须在双引号内逃逸:
awk "{print NR \",\" $0}" file1.csv
awk中的,
是默认的字段分隔符,一个空格。
要获取所需内容,请更改输出字段分隔符
awk -vOFS="," '{print NR, $0}' file1.csv
我试过了,但是windows会在我使用单引号的地方抛出错误我试过了,但是windows会在我使用单引号的地方抛出错误答案没有实际解释的问题是,您使用了双引号来扩展shell变量(以$
开头,如果你查看双引号的位置,你会注意到逗号没有被引用,这意味着它被awk
视为一个逗号,而逗号又表示OFS
(空格)。只需使用单引号:awk'{print NR',“$0}”文件
。
awk -vOFS="," '{print NR, $0}' file1.csv