我正在尝试使用此awk命令awk "{print NR, $0}" file1.csv
,但它添加的是行号,后跟空格而不是逗号。
我尝试了其他具有相同结果的命令
awk "{print NR "," $0}" file1.csv
无论我在哪里使用单引号,都会出错。
我在Windows上使用Gawk。我错过了什么?
谢谢
答案 0 :(得分:1)
谢谢大家的回答,但我发现one有效:在窗口我必须在双引号内逃脱:
awk "{print NR \",\" $0}" file1.csv
答案 1 :(得分:0)
试试这个:
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
答案 2 :(得分:0)
只需将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
的默认值为空格。所以它显示空格而不是逗号。
答案 3 :(得分:0)
使用"{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
答案 4 :(得分:0)
,
中的awk
是默认的字段分隔符,一个空格
获得你想要的输出字段分隔符。
awk -vOFS="," '{print NR, $0}' file1.csv