11得票4回答
使用SED或AWK从另一个文件中替换所有模式

我尝试使用SED脚本进行模式替换,但它不能正常工作。 样本内容.txt288Y2RZDBPX1000000001dhana JP2F64EI1000000002d EU9V3IXI1000000003dfg1000000001dfdfds XATSSSSFOO4dhanaUXIBB7TF71...

11得票7回答
在 awk 中打印长整数

我有一个以管道符分隔的数据文件,它有几个字段。由于我只需要其中的几个字段,我想使用 awk 来获取这些字段以供测试。然而,我发现如果我使用 "%d",printf 会更改该值。如果我使用 "%s",它可以正常工作。 数据文件样例: [jaypal:~/...

10得票7回答
使用Sed替换模式和行号

我需要用当前行号替换模式###。 我已经成功使用AWK和SED在下一行打印了文本。 sed -n "/###/{p;=;}" file 在下一行打印,没有p;则替换整行。 以前我认为sed -e "s/###/{=;}/g" file 是正确的,因为 =; 打印匹配模式的行号,但是它会返...

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

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

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

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

7得票5回答
我可以使用-v选项将数组传递给awk吗?

我希望能够将一个数组变量传递给 awk。我指的不是 shell 数组,而是本地的 awk 数组。我知道我可以像这样传递标量变量: awk -vfoo="1" 'NR==foo' file 我可以使用相同的机制定义一个awk数组吗?类似这样: $ awk -v"foo[0]=1" 'N...

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

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

7得票2回答
awk的split()函数是使用正则表达式还是精确字符串常量?

如果我们有ip=192.168.0.1,并调用split(ip, myArray, "."),那么myArray将包含位置1为"192",位置2为"168",位置3为"0",位置4为"1"。 我的问题是为什么awk没有将"."解释为"任意字符"正则表达式? 如果我想让awk将"."解释为"...

7得票3回答
gawk/awk:将日期通过管道传递给getline有时不起作用。

我正在尝试将日期从一种格式转换为另一种格式: 例如,从“2005年10月29日”到“2005-10-29”。 我有一个包含625个日期的列表。我使用Awk。 转换通常有效,但有时转换根本不会发生, 并且变量(转换后的日期)保持未定义状态。 这总是发生在完全相同的行上。 在那些奇怪行的日期上...

7得票5回答
gawk FS将记录拆分为单个字符

如果字段分隔符为空字符串,则每个字符都成为一个单独的字段。 $ echo hello | awk -F '' -v OFS=, '{$1 = NF OFS $1} 1' 5,h,e,l,l,o 然而,如果FS是一个可能匹配零次的正则表达式,则不会发生相同的行为: $ echo hell...