9得票1回答
awk中FPAT变量的作用是什么?

我从GAWK的GNU页面了解到它可以使用FPAT变量处理数据中的定界符,但是我不知道这是如何工作的。对于CSV文件,FPAT的值为: FPAT = "([^,]+)|(\"[^\"]+\")" 使用数据: abc,"pqr,mno" 第一个分组表达式评估所有内容,即不是逗号,这应该...

7得票1回答
在AWK中,字段是否可以在END块中定义?

当在 END 块中使用 $1、$2 等时会发生什么,例如: awk '{print $3}END{print $1 $2}' 我发现$1和$2保留了上一条记录的值。这种行为是由标准保证的还是实现特定的?

30得票2回答
使用AWK打印所有字段,字段之间用OFS分隔。

有没有一种方法可以打印所有记录,通过OFS分隔,而不需要手动输入每个列号。 #Desired style of syntax, undesired result [kbrandt@glade: ~] echo "1 2 3 4" | gawk 'BEGIN { OFS=" :-( "}; ...

138得票10回答
如何在shebang(即#!)中使用多个参数来执行awk命令?

我想使用shebang执行一个带有--re-interval的gawk脚本。 "天真"的方法是: #!/usr/bin/gawk --re-interval -f ... awk script goes here 无法正常工作,因为gawk被调用时第一个参数为"--re-interval...

13得票4回答
如何使用printf多次打印一个字符?

使用 printf 函数,可以多次打印一个字符。$ printf "%0.s-" {1..5} ----- 在awk中我知道我可以像这样做something like:$ awk 'BEGIN {while (i++ < 5) printf "-"}' ----- 但我想知道 awk的p...

27得票3回答
在awk中,是否可能在不指定索引的情况下向数组中添加一个项?

我知道awk有关联数组,但我想知道是否有awk等效于这个功能:http://php.net/manual/en/function.array-push.php。显然的解决办法是只需说:array[$new_element] = $new_element 然而,这似乎比必要的更不易读且更加 ha...

12得票6回答
将固定宽度文本文件转换为CSV格式

我有一个文本格式的大型数据文件,想要通过指定每列的长度将其转换为CSV格式。 列数 = 5 每列的长度:[4 2 5 1 1] 样本观测:aasdfh9013512 ajshdj 2445df 预期输出aasd,fh,90135,1,2 ajsh,dj, 2445,d,f

8得票2回答
有没有类似于INT_MIN和INT_MAX的awk函数?

在C和Java中,有定义的常量表示整数可以容纳的最大值和最小值。 awk 中是否有这样的常量?如果有的话,它们的名称是什么? awk手册指出,当我们不指定-M时,awk可以支持任意精度整数算术,但我想知道整数的边界是什么。

14得票3回答
窥视下一行,但不要消耗它。

getline函数读取下一行并将NR计数器加1。使用getline后,awk会继续处理下一行。在大多数情况下,这是期望的行为。 在我的特殊情况下,我只需要查看下一行,根据其内容读取下一行或者需要回溯到上一行。 在awk中如何回溯一行?我尝试手动设置NR计数器为NR=NR-1,但这并不起作用...

14得票9回答
使用gawk解析CSV文件

如何使用gawk解析CSV文件?仅设置FS=","是不够的,因为包含逗号的引用字段将被视为多个字段。 以下示例使用FS=","无法正常工作: 文件内容:one,two,"three, four",five "six, seven",eight,"nine" gawk脚本:BEGIN { F...