gawk相关内容

无法删除双引号中包含的回车符和换行符

我要删除列数据中所有不可打印的换行符. 我已用双引号将所有列括起来,以轻松删除该列中出现的新行字符,并忽略行尾各行之间的记录定界符. 说,我在文本文件中有4列用逗号分隔,并用引号引起来. 仅当双引号之间出现\ n和\ r字符时,我才尝试删除它们. 当前使用的修剪,但是它删除了每个换行符,并使其成为没有任何记录分隔符的序列文件. tr -d '\n\r' ..
发布时间:2020-11-12 22:06:22 其他开发

gawk命令中的javascript

我试图在此gawk命令中了解一些javascript: gawk 'function getip(rec) { n=split(rec,a,"\""); split(a[n-1],ip,","); return ip[1] } $10 ~ /302/ && $6 ~ /POST/ && $7 ~ /^\/sso\/[pl]fe\/(rs|ui)\/login/ { ..
发布时间:2020-11-12 22:06:07 前端开发

gawk正则表达式可查找具有除正则表达式模式中字符类指定的字符以外的其他字符的记录

我在文本文件中有电子邮件地址列表.我有一个具有字符类的模式,该类指定了电子邮件地址中允许的字符. 现在,从该输入文件中,我只想搜索具有除所允许字符以外的字符的电子邮件地址. 我正在尝试为它编写一个gawk,但无法使其正常工作. 这是我要尝试的方法: gawk -F "," ' $2!~/[[:alnum:]@\.]]/ { print "has invalid chars" }' email ..
发布时间:2020-11-12 22:00:55 其他开发

bash:使用gawk在图案后插入一行

我正在尝试使用gawk在图案后插入一行. 假设文件aa包含 11 22 33 11 22 33 我仅在前22个之后(即在插入之后)使用gawk插入222,我的aa文件将包含: 11 22 222 33 11 22 33 但是,如果我使用: gawk -v nm=222 '/22/ {if (done++ == 0) print;print nm;next}1' aa ..
发布时间:2020-11-12 21:54:57 其他开发

Shell:每秒删除一次与文件中正则表达式的匹配项

说我想出了一个匹配数据的正则表达式;正则表达式包含2个sed组(包含在(和)中的子表达式).还要说这个正则表达式重复了9次以匹配整行.我面临的问题是如何(以一种优雅的方式)每秒删除一次与正则表达式的匹配. 解决方案 假设您有以下字符串,并希望删除出现的bar: foo bar foo bar foo bar 您可以使用以下sed命令,请注意选项g,该选项使替换次数尽可能多: ..
发布时间:2020-11-12 21:54:33 其他开发

awk + ​​bash:合并任意数量的文件

我有一个脚本,该脚本可以接收许多布局相同但数据不同的数据文件,并将指定的数据列组合到一个新文件中,如下所示: gawk '{ names[$1]= 1; data[$1,ARGIND]= $2 } END { for (i in names) print i"\t"data[i,1]"\t"data[i,2]"\t"data[i,3] }' $ ..
发布时间:2020-11-12 21:51:00 其他开发

AWK:在每组数据之后插入一行

我有一个制表符分隔的csv文件.该文件按列6排序,该列是包含每个组的键的列.我需要在每个组后面插入一个字符串作为分隔符. 输入: car camaleon queso cabra coche 531 cama leon lechuga dow click comedia clase tierno 531 ..
发布时间:2020-11-12 21:46:40 其他开发

我可以使用-v将数组传递给awk吗?

我希望能够将数组变量传递给awk.我不是说一个shell数组,而是一个本机的awk数组.我知道我可以像这样传递标量变量: awk -vfoo="1" 'NR==foo' file 我可以使用相同的机制来定义awk数组吗?像这样: $ awk -v"foo[0]=1" 'NR==foo' file awk: fatal: `foo[0]' is not a legal variab ..
发布时间:2020-11-12 21:14:43 其他开发

awk-连接两个字符串变量并分配给第三个

在awk中,我有2个字段:$ 1和$ 2. 它们都是我想要连接并分配给变量的字符串. 解决方案 只需使用var = var1 var2,它将自动连接vars var1和var2: awk '{new_var=$1$2; print new_var}' file 您可以在之间添加空格: awk '{new_var=$1" "$2; print new_var}' fil ..
发布时间:2020-11-12 21:11:40 其他开发

如果该行包含多个特定数量的非数值,请删除该行

我有一个大的(2GB)逗号分隔文本文件,其中包含来自Sensor的一些数据.有时传感器关闭并且没有数据.如果每行中的No Data或Off或any non-numeric值的数量超过指定的数量,我想删除这些行;不包括标题.我只想从第3栏起算.例如:我的数据如下: Tag, Description,2015/01/01,2015/01/01 00:01:00,2015/01/01 00:02: ..
发布时间:2020-09-15 08:30:26 其他开发

使用awk将坐标d-m-s转换为十进制度

我的输入是一个制表符分隔的文本文件,在D-M-S中为lat long. 我要求输出以十进制度为单位 我在php中有代码,但这计算起来很慢. 可以使用awk更快地完成此操作吗? node name id latitude longitude seq nodex name1 70 N53-24-31.126 W6-20-46.982 59126 nod ..
发布时间:2020-09-15 08:23:40 其他开发

使用awk解析源代码

我正在从现有的源代码中创建文档.我一直在环顾四周,类似awk的东西似乎可以工作,但是到目前为止我还没有运气.信息分为两个文件file1.c和file2.c. 注意:我已经为程序设置了自动构建环境.这将检测源中的更改并进行构建.我想生成一个文本文件,其中包含自上次成功构建以来已修改的所有变量的列表.我要查找的脚本将是构建后的步骤,并且将在编译后运行 在file1.c中,我有一个函数调用列 ..
发布时间:2020-09-15 08:19:52 服务器开发

使用特定模式选择列,然后求和与比率

我想从下面的数据计算总和和比率值. (实际数据包含超过200,000列和45000行(行)). 为清楚起见,我仅给出了简单的数据格式. #Frame BMR_42@O22 BMR_49@O13 BMR_59@O13 BMR_23@O26 BMR_10@O13 BMR_61@O26 BMR_23@O25 1 1 1 0 ..
发布时间:2020-09-15 08:18:36 其他开发

使用awk反复将n个行数转换为列

我的数据是一个大型文本文件,由12行重复组成.看起来像这样: { 1 2 3 4 5 6 7 8 9 10 } 一遍又一遍.我想将每12行变成一列.因此数据看起来像这样: { 1 2 3 4 5 6 7 8 9 10 } { 1 2 3 4 5 6 7 8 9 10 } { 1 2 3 4 5 6 7 8 9 10 } 我发现了一些使用awk将所有行转换为列的示例:awk '{ ..
发布时间:2020-09-15 08:13:54 其他开发

Notepad ++查找所有带有开括号但没有小括号的行,并为AWK脚本错误添加更小括号

我有几个大型日志文件,其中包含以下格式的行: /resource/text_(moretext 现在这些文件都需要用“)"关闭,但是文件太大了,无法手动执行.不幸的是,这些行中的文本可以是任何东西.因此,我想我需要一个能够找到所有具有“("而没有“)"的行的表达式.然后,这些行必须替换为完全相同的内容,但最后要添加“)". 所以它应该像这样: 之前: /resourc ..
发布时间:2020-09-15 07:57:08 其他开发