awk相关内容

使用 awk substr 获取最后一个字段

我正在尝试使用 awk 来获取给定文件绝对路径的文件名. 例如,当给定输入路径 /home/parent/child/filename 我想得到 filename我试过了: awk -F "/" '{print $5}' 输入 效果很好. 但是,我正在硬编码 $5 如果我的输入具有以下结构,这将是不正确的: /home/parent/child1/child2/filename 因此, ..
发布时间:2021-12-14 23:56:54 服务器开发

解释awk命令

今天我在网上搜索一个命令来打印一个模式后的下两行,我遇到了一个我无法理解的 awk 命令. $/usr/xpg4/bin/awk '_&&_--;/PATTERN/{_=2}' 输入 谁能解释一下? 解决方案 参见 https://stackoverflow.com/a/17914105/1745001 对于此处重复的答案. ..
发布时间:2021-12-14 23:52:23 服务器开发

如何在awk中将分隔字符串拆分为数组?

当字符串中包含管道符号| 时如何拆分字符串.我想将它们拆分成数组. 我试过了 echo "12:23:11" |awk '{split($0,a,":");打印 a[3] a[2] a[1]}' 哪个工作正常.如果我的字符串类似于 "12|23|11" 那么我如何将它们拆分成一个数组? 解决方案 您是否尝试过: echo "12|23|11" |awk '{split($0,a ..
发布时间:2021-12-14 23:51:09 服务器开发

删除冒号前的所有文本

我有一个包含一定数量行的文件.每一行看起来像这样: TF_list_to_test10004/Nus_k0.345_t0.1_e0.1.adj:PKMYT1 我想删除“:"之前的所有字符,以便仅保留作为基因名称的 PKMYT1.由于我不是正则表达式脚本方面的专家,谁能帮助我使用 Unix(sed 或 awk)或 R 来完成此操作? 解决方案 在 R 中有两种方法: foo ..
发布时间:2021-12-14 23:42:18 服务器开发

sed 或 awk:删除一个模式后的 n 行

我将如何在 sed(或任何类似的工具 - 例如 awk)中混合模式和数字范围?我想做的是匹配文件中的某些行,并在继续之前删除接下来的 n 行,我想将其作为管道的一部分. 解决方案 我会尝试一下. 删除一个模式后的5行(包括有模式的那一行): sed -e '/pattern/,+5d' file.txt 删除模式后的 5 行(不包括有模式的行): sed -e '/patter ..
发布时间:2021-12-14 23:34:56 服务器开发

为什么我的工具输出会覆盖自身,我该如何修复?

这个问题的目的是为日常问题提供一个答案,这些问题的答案是“你有 DOS 行结尾",所以我们可以简单地将它们关闭为这个问题的重复,而不会重复相同的答案令人作呕em>. 注意:这不是任何现有问题的重复.此问答的目的不仅是提供“运行此工具"的答案,而且是为了解释问题,以便我们可以将任何有相关问题的人指向此处,他们将清楚地解释为什么指向此处以及运行的工具,以便解决他们的问题.我花了几个小时阅读所有现 ..
发布时间:2021-12-14 23:21:11 服务器开发

解析 Bash 内置时间的输出

我正在从 Bash 脚本运行 C 程序,并通过名为 time 的命令运行它,该命令会输出一些运行算法的时间统计信息. 如果我要执行命令 time $ALGORITHM $VALUE $FILENAME 它产生输出: real 0m0.435s用户 0m0.430s系统 0m0.003s 取决于算法运行的值 但是,我希望能够做的是取 0.435 并将其分配给一个变量.我已经读过一 ..
发布时间:2021-12-13 00:07:28 其他开发

使用 awk 循环输入字符串中的字符

信不信由你,我找不到这个非常基本的问题的答案. 在 awk 中,如何逐个字符地循环输入字符串?假设我只是想把它们打印出来.有我可以访问的数组吗?或者我需要使用 substr 吗? 基本上,类似于: echo "这里是一个字符串" |awk '{ for(i=0; i ..
发布时间:2021-12-11 12:49:05 其他开发

匹配模式后打印特定行数

我必须在输入文件中每次出现表达式“AAA"后打印 81 行.我该怎么做? 解决方案 以下习语描述了如何选择给定的记录范围要匹配的特定模式: a) 从某种模式打印所有记录: awk '/pattern/{f=1}f' 文件 b) 在某种模式后打印所有记录: awk 'f;/pattern/{f=1}' 文件 c) 在某种模式后打印第 N 条记录: awk 'c&&!--c;/ ..
发布时间:2021-12-10 19:02:52 其他开发

使用 ack 或 awk 或比 grep 更好的方法从另一个文件中获取模式?

有没有办法使用 ack 作为 grep 中的 -f 选项从另一个文件中获取模式(模式列表)代码>?我看到 ack 中有一个 -f 选项,但它与 grep 中的 -f 不同. 也许一个例子会给你一个更好的主意.假设我有 file1: file1:一个C电子 和文件 2: file2:1乙 23d 45 我想从文件 2 中获取文件 1 中的所有模式以给出: a 135 ack 能做到这一 ..
发布时间:2021-12-10 18:50:13 其他开发

如何从 C 源文件中删除所有/* */注释?

我有一个从别处复制的 C 文件,但它有很多如下注释: int 矩阵[20];/* 生成数据 */for (index = 0 ;index 如何删除/* 和*/ 括起来的所有注释.有时候,评论由 4-5 行组成,我需要删除所有这些行. 基本上,我需要删除 /* 和 */ 之间的所有文本,甚至 \n 也可以介于两者之间.请使用 sed、awk 或 perl 之一帮助我做到这一点. ..
发布时间:2021-12-10 18:49:51 服务器开发

如何使用 shell(awk、sed 等)删除文件中的前两列

我有一个多行的文件在每一行中有许多列(字段)由空白“"分隔每行的列数不同我想删除前两列怎么办? 解决方案 你可以用cut来做到: cut -d " " -f 3- input_filename >输出文件名 说明: cut:调用剪切命令 -d " ":使用单个空格作为分隔符(cut默认使用TAB) -f:指定要保留的字段 3-:所有以字段3开头的字段 input_file ..
发布时间:2021-12-10 18:39:33 其他开发

命令行:搜索和替换所有与 grep 匹配的文件名

我正在尝试在与 grep 匹配的所有文件中搜索和替换字符串: grep -n 'foo' * 会给我以下形式的输出: [文件名]:[行号]:[文本] 对于 grep 返回的每个文件,我想通过将 foo 替换为 bar 来修改文件. 解决方案 你的意思是在所有与 grep 匹配的文件中搜索并替换一个字符串吗? perl -p -i -e 's/oldstring/newstrin ..
发布时间:2021-12-10 18:38:17 服务器开发

Perl、Python、AWK 和 sed 之间有什么区别?

它们之间的主要区别是什么?以及在哪些典型场景下使用每种语言更好? 解决方案 按出现顺序,语言为sed、awk、perl, python. sed 程序是一个流编辑器,旨在将脚本中的操作应用到输入文件的每一行(或更一般地,应用到指定范围的行).它的语言基于ed,Unix 编辑器,虽然它有条件等,但很难处理复杂的任务.你可以用它创造小奇迹——但代价是你头上的头发.但是,在尝试其职权范围内 ..
发布时间:2021-12-10 18:08:09 Python

如何逐行一致地合并两个文件

我有两个文件 (file1.txt & file2.txt ),文件只是示例. 如何合并两个文件,以创建文件 - merge_files.txt 示例 3 我现在在写 ksh 脚本,所以合并可以用 ksh、awk、sed、perl 一个 liner ...等来完成 背景 - 为什么我需要合并文件:我的目标是将旧文件(存在于第一个字段中)重命名为新文件 (存在于第二个字段中) , ..
发布时间:2021-12-10 17:59:16 服务器开发

将 CSV 文件拆分为较小的文件但保留标题?

我有一个巨大的 CSV 文件,一百万行.我想知道是否有办法将此文件拆分为较小的文件,但在所有文件上保留第一行(CSV 标题). 看起来split 非常快,但也非常有限.您不能像 .csv 这样的文件名添加后缀. split -l11000 products.csv file_ 是否有一种有效的方法可以仅在 bash 中完成此任务?单行命令会很棒. 解决方案 这个问题的答案是是,这 ..
发布时间:2021-12-09 14:48:57 其他开发

使用 awk 解析 csv 并忽略字段内的逗号

我有一个 csv 文件,其中每一行定义给定建筑物中的一个房间.除了房间,每一排都有一个地板区域.我要提取的是所有建筑物的所有楼层. 我的文件看起来像这样... "u_floor","u_room","name"0,"00BDF","机场测试"0,0,"BRICKER HALL, JOHN W "0,3,“BRICKER HALL, JOHN W"0,5,“BRICKER HALL, JOH ..
发布时间:2021-12-09 14:48:24 其他开发