awk&x27;{打印$2,“,”,“,$1}';在Emacs Lisp中?

有时我会使用AWK来提取和/或反转数据文件中的列 awk '{print $2,",",$1}' filename.txt 如何使用Emacs Lisp执行相同的操作 (defun awk (filename col1 &optional col2 col3 col4 col5) "Given a filename and at least once column, print out the column(s) values in the order in which the c

计算风速变化的awk程序

我已将以下文件格式化为如下所示的格式- DATA THROUGH 2001 YRS JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC ANN BIRMINGHAM AL 58 8.1 8.7 9.0 8.2 6.8 6.0 5.7 5.4 6.3 6.2 7.2 7.7 7.1 HUNTSVILLE AL 34 9.1 9.4 9.8 9.2 7.9 6.9 6.1 5.8 6.7 7.3 8.1 9.0 7.9 MOBILE AL

Awk 获取输入文件每行的输出。只需要输出一次

这应该很简单,但我对awk脚本的流程有一个问题。我运行下面的脚本,它一次又一次地打印输出(如果我不得不猜测的话,我会说它为输入文件的每一行打印一次)。根据要求,这里有一些假输入: [30000] (03/20 00:00:02.950):{0x2D90} Pattern1 5.0.3.57 [30000] (03/20 00:00:03.911):{0x2D90} Pattern2 5.0.3.57 [30000] (03/20 00:00:02.950):{0x2D90} Patter

awk:dict值中带有数字的concat字符串

我有下一个awk oneliner: {dict[$2"@"$6]=($(NF-2)/($(NF-2)+$NF))*100 } END {for (a in dict) { printf "%s %d :" , a, int(dict[a]) }} 我需要的是,增加每个字典键组合的值 ($(NF-2)/($(NF-2)+$NF))*100 " out of" $(NF-2)+$NF 所以我想让awk计算所有的数学运算,然后合成字符串并将其作为字典值。我已经尝试了一些空格和括号的组合,

Awk 限制exim日志的grep结果

我正在尝试编写一个小shell脚本,每小时运行一次,并返回过去一小时内发送电子邮件的所有用户和IP,以便我可以查找任何受损帐户 我通过以下方式获取所需数据: grep "A=dovecot_login" /var/log/exim_mainlog | sed -e 's#H=.* \[##' -e 's#\]:[0-9]*##' | awk '{print $5,$6}' | sort | uniq -c 但我想将这些结果限制在前一个小时(因此,如果我在上午10点运行,那么结果将是从上午9点到

Awk Tail和grep组合以多行模式显示文本

不确定你是否能通过tail和grep做到这一点。假设我有一个日志文件,我想跟踪它。在调试模式下,它会输出相当多的信息。我只想grep获取与我的模块相关的信息,并且模块名称在日志中,如下所示: /*** Module Name | 2014.01.29 14:58:01 a multi line dump of some stacks or whatever **/ /*** Some Other Module Name | 2014.01.29 14:58:01 this should show

Awk:在我乘法列时转换数字的表示法

大家好,我有以下几句话: A=3.5e30 B=4.345e40 (文件包含此符号中带有数字的列1.2345678D+10) 我得到的结果是: 3.168808781403E+02 29825999184755995994350665720659968 71343531834366140263241767594070376448 ... etc 如何使第二列和第三列具有与第一列相同的符号?即 而不是:713435318343636140263241767594070376448 我想要:7.

awk:&x2013;f awk:^无效字符'࿽';表达

嗨,我有以下awk程序 问题是我不知道为什么它会抱怨“awk:–f” awk:^无效字符'�' 在表达式“中,当我执行awk-f pdf.awk aodv1.tr 你们当中有谁在这方面比我聪明 开始{ recvdSize=0 起始时间=400 停止时间=0 } { 事件=$1 时间=265.01美元 节点id=$29 包装尺寸=8美元 级别=$4 如果(级别==“AGT”&&event==“s”&&pkt\U大小>=512){ 如果(时间=512){ 如果(时间>停止时间){ 停止时间=时间 }

GAWK中的If语句出现错误

我有一段代码: gawk '{if (match($5,/hola/,a) && $6=="hola") {print $2"\t"$1"\t"$2"\t"$1"\t"$3} else if `(match($5,/(_[joxT]+\.[0-9]*)/,a) && match($6,/(_[joxG]+\.[0-9]*)/,b)) {print $2""a[1]"\t"$1""b[1]} else (match($5,/(_[joxT]+\.[0-9]*)/,a

Awk 如何正则表达式文本的特定列

我一直在尝试创建一个正则表达式,它只允许我处理文本文件中特定列的文本 例如: John Milanos Anne Silverwood Tina Fastman 我知道awk-F'{print$2}'将打印所需的列,因此允许我将文本传输到第二个grep命令。但是,我的最终输出将只打印姓氏。我想打印整行,但只查找姓氏的模式 如果我跑步: awk -F ' ' '{print $2}' listofnames.txt | grep -v 'wood' 我将以以下内容结束: Milanos

Awk 计算分组线的平均值

我有一组包含以下信息的文件: ID Score Other ABR 0.98 NBNMSB BCG 0.76 NBNMSB CVD 0.6 NBNMSB BCG 0.9 VSCVA CVD 0.56 VSCVA ABR 0.9 VSCVA CVD 0.7 BAVSC BCG 0.4 BAVSC ABR 0.5

Awk 如何在下一行中插入模式匹配的行?

我在文件中有一组行,我想在输出后插入一个新行,内容与行相同,但不是uat\u reset\u fwd\u outputs而是Test\u sample\u data [serverClass:UAT_SAI_Forwarder:app:uat_sai_inputs] [serverClass:UAT_SAI_Forwarder:app:uat_reset_fwd_outputs] [serverClass:UAT_TEST_Forwarder:app:uat_test_inputs]

Awk 命令行输出应更新为特定行的文件

我在~/Desktop/test/dummy.txt位置有一个文件,其中包含以下文本 [client] clientName = [servername] testserver-1 dummy.txt文件应该在“clientName=”line的末尾用hostname-s的输出进行更新。如果您想在dummy.txt文件中附加命令hostname-s的结果,可以尝试以下操作: awk -v hostname="$(hostname -s)" '$1=="clientName" {$3=hos

awk基于另一个字段替换字段值

我试图使用awk将Classification字段NF+1的值替换为CLINSIG字段NF-1的值,如果该值为良性。我认为awk已关闭,但目前我得到一个空文件。怎么了 输入 Chr Start End Ref Alt Func.refGene PopFreqMax CLINSIG Classification chr1 43395635 43395635 C T exonic 0.12 Benign VUS chr1 43396414

Awk 用重复字打印行

我正在尝试打印所有可以包含相同单词的行两次或更多次 例如,使用此输入文件: cat dog cat dog cat deer apple peanut banana apple car bus train plane car train car train 输出应该是 cat dog cat apple peanut banana apple car train car train. 我已经尝试了这个代码,它的工作,但我认为必须有一个更短的方法 awk '{ a=0;for(i=1;i&

表中awk的计算取决于第一列

我有这张桌子 0 56 56 0 45 100 0 70 80 60 90 90 0 100 200 0.1 200 300 在这个表中,我想通过以下公式计算col2和col3的值 awk取决于col1值:如果col1=60,停止并开始新的计算,并将值放在新的列上,比如说col4和col5 重述,基于和: 对于第1列中的值小于60的行,应将第2列和第3列中的值添加到单独的总和中。当行在第1列中的值为60或更高时,打印第2

Awk 将行重新排列为表格格式

我想抓取后面的部分,并将其与下面的字母字符串组合成一个制表符输出。我尝试了一些像cut-d*-f2awk这样的方法来营救 awk -F- '/^>/{k=$2; next} {print $0, k}' file 救命啊 awk -F- '/^>/{k=$2; next} {print $0, k}' file 使用GNU时: sed -nE 'N;s/.*-([0-9]+)\n(.*)/\2\t\1/p' file 输出: TATTGCACTTGTCCCGGCCTGT 395

(g) awk下一个文件位于部分空白行 问题

我只需要合并一大堆文件,从第一个文件中去掉标题(第1行) 数据 以下是其中三个文件的最后三行(第1行:标题): "START_DATE","END_DATE","UNITS","COST","COST_CURRENCY","AMOUNT" "20170101","20170131","1","5.49","EUR","5.49" "20170101","20170131","1","4.27","EUR","4.27" "","","","","9.76","" "START_DATE","E

Awk 删除字段,使用命令行保留标题

我有一堆文件,它们的值(不必要的值)比字段名多,在它们上面我有一个我想保留的头 例如,使用包含以下内容的test_awk.txt文件: My header is here it can have several lines data1 data2 data3 1,2,3,4 2,3,4,5 我想要的是: My header is here it can have several lines data1,data2,data3 1,2,3 2,3,4 我尝试使用一个简单的awk命令,但只能抑制

Awk 检查SAS数据集中的行数

我给出下面的命令来检查SAS数据集中的行数,但它输出数据集的60条记录,但数据集有247条记录 在unix命令中还有其他方法吗 UNIX命令: awk'END{print NR}'/home/user/check.sas7bdat在SAS数据步骤中执行它怎么样?您可以使用NOBS语句获取行数 /* Test dataset */ data have; a = 1;output; a = 2;output; a = 3;output; run; data _null_;

Awk 打印出现在一列而不是另一列中的值

我有一个包含四列数据的文件,如下所示: cluster-9 cluster-12 cluster-40 cluster-62 cluster-10 cluster-12 cluster-42 cluster-60 cluster-12 cluster-12 cluster-43 cluster-61 cluster-12 cluster-12 cluster-28 cluster-20 cluster-12 cluster-12 cluster-29 cluste

Awk 读取文件并根据行中的内容提取变量

我有一个文件如下所示: $ cat file_test garbage text A=one B=two C=three D=four garbage text A= B=six D=seven garbage text A=eight E=nine D=ten B=eleven 我想遍历每一行,提取出在循环中使用的特定“变量”。如果一行没有变量,则将其设置为空字符串 因此,对于上面的示例,假设我想提取变量A,B,和C,那么对于每一行,循环将有以下内容: 垃圾文本A=1 B=2 C=3 D=4

Awk 如何计算每个部分中的字母数

我有这样的数据 >sp|Q96A73|P33MX_HUMAN Putative monooxygenase p33MONOX OS=Homo sapiens OX=9606 GN=KIAA1191 PE=1 SV=1 RNDDDDTSVCLGTRQCSWFAGCTNRTWNSSAVPLIGLPNTQDYKWVDRNSGLTWSGNDTCLYSCQNQTKGLLYQLFRNLFCSYGLTEAHGKWRCADASITNDKGHDGHRTPTWWLTGSNLTLSVNNSGLFFLCGNGVY

Awk 如果第二个或倒数第二个字符是CSV第一列中的空格,请删除行

首先,我很抱歉没有给出一个我尝试过的例子,因为我真的不知道从哪里开始。这是一份SED或AWK的工作,这是我能得到的 如果出现以下情况,我想删除行: 第二个字符是第一列中的空格 倒数第二个字符是第一列中的空格 示例输入 John Smith|Chicago|IL J Smith|Chicago|IL Jane Brown|New York|NY Jane B|New York|NY 预期产量 John Smith|Chicago|IL Jane Brown|New York|NY 这些文件

Awk 无法在邮件正文中以HTML表格格式打印

我有一个场景,将CSV文件转换为HTML文件,然后使用Sendmail将HTML表格格式数据打印到邮件正文中。但输出的格式不正确 .csv文件中的数据如下所示 A1,ABC,BCD A2,DEF,AB 用于将.csv文件转换为HTML文件的代码 awk 'BEGIN{ FS="," print "MIME-Version: 1.0" print "Content-Type: text/html" print "Content-Disposition: inline" print "&l

Awk 用于从变量中选择少数列的Bash代码

在一个文件中,我存储了一个坐标列表(参见左图)。 从那里我只想复制坐标(红色标记),并将它们放在另一个文件中 我使用COORD=`grep-B${I}'和END-COORD'${cpki_file}从文件中复制正确的部分。然后我尝试使用awk从COORD变量中提取所需的数字。它会输出文件中的所有数字,但会删除值之间的空格(图,右侧) 如何按原样书写红色标记的部分 当您开始使用grep、sed、awk、cut等组合时,您应该意识到您可以在单个awk命令中完成所有操作。在OP的情况下,这将完全相同

Awk 按位置相交两个文本文件

我有两个文本文件,我需要按位置相交 文件1 文件2 预期产量 cat02 2 xxx sss www cat02 3 swe ede rrr cat02 4 aqw ede efd cat02 5 aws ede as 我尝试通过对两个文件进行排序来使用join,但无法获取位置能否请您尝试使用GNUawk中显示的示例编写并测试以下内容 awk ' FNR==NR{ start[$1]=$2 till[$1]=$3 next } $2>=start[$1] &&

Awk 搜索3+;文件中的连续行匹配条件

我想搜索一个文件,查找符合给定条件的>=3个连续行的每个实例。我想为每个连续匹配块打印第一个匹配行的第1列和第2列,以及最后一个匹配行的第3列 例如,假设我在第4列中查找大于500的多行。以下是我想要的: 示例文件 Sc000000 2400 3600 602 Sc000000 3600 4800 835 Sc000000 4800 6000 718 Sc000000 6000 7200 416 Sc000000 72

Awk 如果文件替换包含反斜杠,则查找并替换给定错误

我有一个文件,我必须在其中找到一个字符串并替换它。当我使用sed时,它会给我错误,因为replace字符串包含/ replace_string=6W4kngjd3c7oOShnG7iWYQpZVzr4S88G20fujmP7cdM1m5Gw550WfMD38DA4g6O4qxUIJJwt2OtLTRmh7vWz+AWQVmIMajk3OylEfR/X+afrD6YOeGLYHU6Ef4DYv/3x sed -i -e 's|string|'$replace_string'|g' $FILEPA

Awk Bash:读取CSV文本文件后,从多个列中查找条目的平均值

我正在尝试读取一个CSV文本文件,并查找所有用户ID(第2列)以偶数(2,4,6,…)结尾的每周平均小时数(第3列到第7列) 输入示例如下所示: Computer ID,User ID,M,T,W,T,F Computer1,User3,5,7,3,5,2 Computer2,User5,8,8,8,8,8 Computer3,User4,0,8,0,8,4 Computer4,User1,5,4,5,5,8 Computer5,User2,9,8,10,0,0 Computer6,User7,

awk中的绝对值不起作用?

我想选择第9列的绝对值小于500的文件行。列有时是正的,有时是负的 awk -F'\t' '{ if ($9 < |500|) {print $0} }' > output.bam 这到目前为止还不起作用。。互联网上的一个回合告诉我,要使用绝对值,我们应该增加 func abs(x) { return (x<0) ? x*-1 : x } 那我怎么把它和第9列的值放在一起呢??我不知道什么是正确的语法。对于快速一行程序,我使用以下方法: awk -F'\t' 'functi

linux/ubuntu awk匹配唯一值(而不是bash“sort unique grep”唯一值)

我的命令如下所示: Red 8 Blue -29 Green 42 cut-f1 dummy|u FILE | sort | uniq-c | awk{print$2}| for i in$cat-;dogrep-w$i虚拟文件| awk-v VAR=$i'{distance+=$3-$2}END{print VAR,distance}';完成 我想: 对于$1虚拟_文件中的每个单词,红色、蓝色和绿色-计算$3和$2之间的差异总和 要获得如下输出: Red 8 Blue -29

Awk 在pdb文件中使用grep

我有一个PDB文件,简而言之,它看起来有点像这样 ATOM 1189 CA ILE A 172 4.067 0.764 -48.818 1.00 19.53 C ATOM 1197 CA ATHR A 173 7.121 3.051 -48.711 0.50 17.77 C ATOM 1198 CA BTHR A 173 7.198 2.978 -48.704 0.50 16

我如何让awk(gawk)像IGNORECASE=0一样尊重case?

我无法让GNUawk(gawk)在正则表达式中区别对待大小写输入。环境是Win32 我升级到了Gawk4.1 我从记事本和记事本中将输入文件保存为ANSI ASCII和UTF-8 UNICODE++ 我需要做什么?在调用gawk之前设置以下环境变量: 设置LC_ALL=C 设置LANG=C

Awk 如何将稀疏矩阵数据转换为WEKA';什么是arff文件格式?

我有一个稀疏的matrix.txt文件,包含许多数字,但大部分是0。以下是此.txt文件的示例: 0.271178 0 0 0 0.538776 0-0.631228 0-0.501485 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.438643 0 0 0 0 0 0 0 0 0 0 0 0.287754 0 0 0 0 0 0 0 0 0 0 0-0.498918 0 0 0 0 0 0 0 0 0 0.475561 0 0 0 0 0 0 0 0 0 0

Awk 从1开始每隔一行删除一行

我可以找到删除文本文件中以“1”开头的所有行的sed解决方案,以及删除文本文件中所有行的每隔一行的解决方案,但我想将两者结合起来。。在所有以“1”开头的行中,每隔一行删除一行,并保留其他不以1开头的行 因此,如果我有一个文本文件: 1, 1 1, 2 2, 3 3, 4 4, 5 2, 6 1, 7 3, 8 1, 9 4, 10 我希望输出为: 1, 1 2, 3 3, 4 4, 5 2, 6 1, 7 3, 8 4, 10 给你: awk '$1=="1," && !(f

Awk 将一行中的每个数字复制n次,其中n是该行中的数字

我有文本文件,每个文件都有一列数字: 2 3 4 我想将每行n复制几次,其中n是行中的数字,因此输出如下所示: 2 2 3 3 3 4 4 4 4 我发现的唯一示例使用了固定数量的n 我认为sed阅读每一行可能很好,但我还没有弄明白如何告诉sed使用每一行中的数字作为该行应重复的次数的值。在awk中这很简单: awk '{for (i = 1; i <= $1; i++) print $0}' 您将获得相当丰富的输出,只要行中的第一个数字指示,就可以重复这些行。在awk中这很简单:

如何在awk中将数组转换为字符串?

这个问题的目的是为常见问题提供一个健壮、灵活的解决方案 处理文本时的一种常见情况是需要将输入拆分为字段,操作字段,然后重新组合以进行打印。例如,给定此输入: $ cat file A 7 C 3 如果我们想确保每个单个数字都是.2f格式的,并且我们想保留字段前/后/之间的间距,那么我们可能会写入(使用GNU awk作为第四个要拆分的参数()): 最后一个循环是将数组展平为字符串进行打印,这对于许多awk脚本来说是常见的。有时分隔符存储在如上所述的不同数组中,有时

在多行上使用grep、awk或sed搜索和导出模式

首先,我不是程序员,而是化学家。我开始做量子化学计算,我需要处理100万行长的文件中的数据。我尝试过这里找到的解决方案,但没有一个符合需要。问题是,计算的输出文件如下所示 43718,0.0040389517\Am,-1.7885800013,-0.6239343718,-0.0040389517\Versi on=AM64L-G09RevD.01\State=13-AU\HF=-4237.9263963\S2=43.283985\S2-1=0\ S2A=42.176337\RMSD=5.586

awk脚本中的RegEx帮助

因此,我有一个日志文件,其中包含如下条目: [STAT] - December 11, 2017 13:16:05.360 .\something.cpp(99): [Text] Code::Open Port 1, baud 9600, parity 0, Stop bits 0, flow control 0 [STAT] - December 11, 2017 13:20:24.637 .\something\more\code.cpp(100): [log] fooBarBaz[32]

用逗号替换行尾,并在sed/awk中插入括号

我正在尝试处理以下格式的文件内容: this1,EUR that2,USD other3,GBP this1(EUR),that2(USD),other3(GBP) 对于此格式: this1,EUR that2,USD other3,GBP this1(EUR),that2(USD),other3(GBP) 结果应该是一行 到目前为止,我已经提出了一系列运行良好的命令: cat myfile | sed -e 's/,/\(/g' | sed -e 's/$/\)/g' | tr '

如何使用awk对重复行的值求和?

我有一个csv文件,有11行,如下所示: Order Date,Username,Order Number,No Resi,Quantity,Title,Update Date,Status,Price Per Item,Status Tracking,Alamat 05 Jun 2018,Mildred@email.com,205583995140400,,2,Gold,05 Jun 2018 – 10:01,In Process,Rp3.000.000,Done,Syahrul Addres

如何使用sed或awk删除在特定位置包含特定字符串的行?

我想查找并删除在特定位置具有特定长度的特定字符串的所有行 我的数据集中的一行看起来像这样: STRING 1234567 1234567 7654321 6543217 5432176 注: 条目的字段宽度为8 标识号可以在同一行中重复 标识号可以在不同的行上重复,但在不同的位置-不应删除这些行 在本例中,我希望找到包含“1234567”的行,这些行位于第17列,跨越到第24列(即第三个字段),并将其删除。我如何使用sed或awk实现这一点 我使用了以下内容,但它删除了我要保留的行:

如何通过awk将两条连续线连接在一起

我有一个带有数字的文本文件,我显示了其中的一部分: 4194369 4194376 4194383 4194377 4194389 4194394 4194399 4194395 4194402 4194403 4194407 我想将文件中的两个连续数字连接在一起,以下代码为我的作业,除了不打印最后一行外,代码的输出为: awk '{printf $0 (NR%2?",":"\n")}' file.txt 4194369,4194376 4194383,4194377 4194389,4194

这段awk脚本在做什么?

我正在尝试将这个awkscript转换成python,这里有一段我不熟悉的语法。我知道else语句后面的部分正在设置空间填充以输出到文件,但是if/else让我感到困惑 if (substr($36,1,1) ~ /^[0-9]+$/) { C = $36; CLen = length($36); } else { C = substr($36,2); CLen = length(C); } CPad = 6 - CLen; for (i = 1; i &l

Awk sed匹配模式并插入换行符,后跟替换文本

假设我的输入文件es服务有以下几行: 如果上述文件中不存在模式key2=value2,则将其添加到key1=value1之后 因此,该文件现在应该具有: 为了实现这一目标,我提出了以下建议: if ! grep -qxF 'key2=value2' es-service; then sed -i "/key1/a \n# Comment 2\nkey2=value2" es-service fi 问题是/a没有插入新行之后的第一行\n。因此,我最终得出以下结论: key1=value1 n

Awk打印列的最大值大于0.5的特定行

我有一个以制表符分隔的文件,看起来像这样,有5列 temp1 56 09 34,54,65,6 file1 temp2 45 23 4,55,11,7,8,4,7 file2 temp3 123 56 0.01,0,50,4,4,4,6,7,1,3,44,67,8 file3 temp4 11 56 0.006,0.006,0.006 file4 temp5 10 123 0.00001,0.005,0.004 file5 我

上一页 1 2 ...  7   8   9   10    11   12   13  ... 下一页 最后一页 共 152 页