gawk相关内容

如何使用 awk 轻松过滤日志?

假设我有一个像这样的日志文件 mylog: [01/Oct/2015:16:12:56 +0200] 错误编号 1[01/Oct/2015:17:12:56 +0200] 错误编号 2[01/Oct/2015:18:07:56 +0200] 错误编号 3[01/Oct/2015:18:12:56 +0200] 错误编号 4[02/Oct/2015:16:12:56 +0200] 错误编号 5[1 ..
发布时间:2022-01-13 08:56:08 其他开发

gawk 浮点数本地化

我希望 gawk 使用逗号 , 作为小数点字符来解析数字.所以我将 LC_NUMERIC 设置为 fr_FR.utf-8 但它不起作用: 回声 123,2 |LC_NUMERIC=fr_FR.utf-8 gawk '{printf ("%.2f\n", $1 + 0) }'123.00 解决方案是指定选项 --posix 或 export POSIXLY_CORRECT=1 但在这种情况下 G ..
发布时间:2022-01-11 11:05:44 其他开发

使用 gawk 将每第 n 行打印成一行

我有一个非常大的文件,我需要在其中获取每第 n 行并将其打印成一行. 我的数据: 1 937 4.3201942 667 4.9133143 934 1.7833264 940 -0.2993125 939 2.3095596 936 3.2294967 611 -1.418088 608 -1.1540199 606 2.15968310 549 0.767828 我希望我的数据如下所 ..
发布时间:2021-12-28 08:10:55 其他开发

在 awk 中打印长整数

我有一个以竖线分隔的提要文件,其中包含多个字段.由于我只需要几个,我想使用 awk 来捕获它们以用于我的测试目的.但是,我注意到如果我使用 "%d",printf 会更改该值.如果我使用 "%s",它工作正常. Feed 文件示例: [jaypal:~/Temp] cat temp 302610004125074|19769904399993903|30|15|2012-01-1 ..
发布时间:2021-12-28 00:03:15 其他开发

Bash:用引号、逗号和换行符解析 CSV

假设我有以下 csv 文件: id,message,time123,"对不起,这条消息有逗号和换行符",2016-03-28T20:26:39456,“它使问题变得不平凡",2016-03-28T20:26:41 我想编写一个只返回时间列的 bash 命令.即 时间2016-03-28T20:26:392016-03-28T20:26:41 最直接的方法是什么?您可以假设标准 unix ..
发布时间:2021-12-09 14:24:43 其他开发

如何通过shebang(即#!)使用awk的多个参数?

我想使用 --re 执行 gawk 脚本-interval 使用shebang. 的“幼稚"方法 #!/usr/bin/gawk --re-interval -f... awk 脚本在这里 不起作用,因为 gawk 是用第一个参数 "--re-interval -f" 调用的(没有围绕空格分割),它不理解.有解决方法吗? 当然,您可以不直接调用 gawk 而是将其包装到拆分第一个参数的 ..
发布时间:2021-12-09 09:53:05 服务器开发

如何检查awk变量的类型?

gawk 4.2.0的Beta版本,可在 http:中获得//www.skeeve.com/gawk/gawk-4.1.65.tar.gz 是主要版本,具有许多重要的新功能. 我之前曾问过 FS的行为是什么?"在GNU Awk 4.2中?,现在我注意到全新的 typeof()函数弃用了 isarray() : 从4.1.4更改为4.2.0 新的 typeof()函数可用于指示变量 ..
发布时间:2021-05-11 19:11:55 其他开发

如何仅从几个输入文本文件向AWK中的数组添加唯一元素

如主题所示,如何读取多个文本文件中的信息,并且仅在数组中添加元素1次,而不管它们是否在不同的文本文件中多次出现? 我从此脚本开始,该脚本按在不同文档中出现的顺序读取和打印所有元素. 例如,看一下这3个包含以下数据的不同文本文件 文件1: 2011-01-22 22:12 test1 22 1312 75 13.55 13992011-01-23 22:13 test4 22 ..
发布时间:2021-05-09 20:52:46 其他开发

如何使用awk过滤目录中的多个文件?

我正在尝试根据黑名单文件过滤目录中的多个文件当我使用无循环的单行脚本时,效果很好... awk> rest.txt'NR == FNR {_ [$ 1]; next}!(_中的$ 1)'FS =“" blist_file.txt main_file.txt 但是当我添加循环时,出现错误,这可能是什么问题? $ for main_file *中的f做awk> res_ $ f'NR == ..
发布时间:2021-05-09 20:52:17 其他开发

awk命令拆分第n个字段

我正在学习AWK,并且正在尝试一些有关内置字符串函数的练习. 这是我的锻炼: 我有一个包含以下内容的文件 RecordType:831,2,3,a | x | y | z,4,5 我想要的输出如下: RecordType:831,2,3,a,4,51,0,0,x,4,51,0,0,y,4,51,0,0,z,4,5 我为上面的输出写了一个awk命令. awk -F', ..
发布时间:2021-05-09 20:51:00 其他开发

每个文件awk更改一次

awk -i inplace'开始{FS =“"}BEGINFILE {changed = 0}{print; if($ 1 =="namespace"&&!changed){print"foo"; changed = 1}}}'* 是否有更优雅的方法来做到这一点?我错过了一些内置的构造?我正在运行GNU Awk 4.1.0(对于-i inplace,我感到非常高兴.) 解决方案 ..
发布时间:2021-05-09 20:50:48 其他开发

GNU awk,FPAT以及重复FS带来的麻烦

我有一个文件: $ cat文件1 ,,"3.1,3.2",4,5 并且由于使用了引号,我正在使用 FPAT =“([[^,] *)|(\" [^ \“] + \")“) 而不只是 FS =",".我正在尝试用另一个值替换 $ 4 字段, $ gawk'BEGIN {FPAT =“([^,] *)|(\" [^ \“] + \")“; OFS =",“} {$ 4 =" new“;打印} ..
发布时间:2021-05-09 20:48:50 其他开发

如何使用awk/shell脚本执行SQL Where子句和SQL连接,例如行和列的过滤和合并?

我有一个庞大的数据集,例如15-20 GB,这是一个制表符分隔的文件.虽然我可以用Python或SQL进行操作,但在Shell脚本中完成操作会更容易,更简单,从而避免移动CSV文件 例如,以竖线分隔的文件输入为例: ----------------------------------------Col1 |Col2 |Col3 |Col4 |Col5 |Col6------------- ..
发布时间:2021-05-09 20:48:04 其他开发

是否可以处理awk中包含换行符的字段?

假设我有一个文本文件,其中包含以下形式的记录,其中 FS 通常是逗号,而 RS 通常是换行符. 但是,此规则的例外是,如果字段用引号引起来,则应将换行符和逗号视为该字段的一部分. “该字段包含换行符是引用但它应该被视为单个字段“,1,2,3,"另一个字段“ 如何使用awk正确解析此类文件,而我仍然可以像往常一样访问 $ 1,$ 2 ... ,但是具有上述字段解释? 我已经查看了此Wi ..
发布时间:2021-04-27 19:42:19 其他开发

awk排序多维数组

GNU awk支持多维数组: q [1] [1] =“狗"q [1] [2] = 999q [2] [1] =“鼠标"q [2] [2] = 777q [3] [1] =“鸟"q [3] [2] = 888 我想对 q 的“第二列"进行排序,以便留下: q [1] [1] =“鼠标"q [1] [2] = 777q [2] [1] =“鸟"q [2] [2] = 888q [3] [1 ..
发布时间:2021-04-14 19:59:39 其他开发

从比赛&处理多个输入文件

当您仔细查看过去几周的问题时,您会发现我提出的问题与此类似.因为我真的不知道我的问题来自何处,所以我在以要求的格式提问时遇到了问题. E. Morton告诉我不要使用范围表达式.好吧,我不知道它们到底是什么.我在这个论坛上发现了许多类似我的问题以及有效的答案. 例如:“如何从匹配项中打印以下行"(但是,当我处理多个输入文件时,我发现的所有解决方案都停止工作.我需要处理很多. 我使用以下命令: ..
发布时间:2020-11-12 22:10:01 其他开发