awk相关内容

根据内容删除两行之间的文本块

我需要删除/过滤一个非常大的日志文件我设法将日志文件放入包含 的行开始的文本块中,以包含 Content- 的行结束长度:现在,如果此文本块包含单词REGISTER,则需要将其删除. 我找到了流动的例子: # sed 脚本删除一个块,如果/regex/在里面匹配:t/start/,/end/{ # 对于这些块标记之间的每一行../end/!{ # 如果我们不在/end ..
发布时间:2021-12-24 12:26:21 其他开发

如何从文本文件中的第一个空行开始删除所有行?

从 Bash 中的第一个空行开始从文本文件中删除所有行的最佳方法是什么?可以使用外部工具(awk、sed...)! 示例 1:ABC2:防御3:4:GHI 应删除第 3 行和第 4 行,并将剩余内容保存在新文件中. 解决方案 With AWK: $ awk '/^$/{exit} 1' test.txt >输出.txt output.txt 的内容 $ cat outpu ..
发布时间:2021-12-24 12:26:03 服务器开发

在 linux 中从分隔文件中删除一列

我有一个格式如下的文件: col1|col2|col3|col4a|b|c|de|f||hi|j|k|l 我想从标题和数据中删除 col3(带有分隔符“|").这可以使用 awk/sed 来完成吗? 请注意 col3 中的数据可能为空(第 2 行). 输出应该是: col1|col2|col4a|b|de|f|h我|j|l 解决方案 你可以简单地使用 cut. cut -d ..
发布时间:2021-12-24 12:24:39 服务器开发

用另一个文件中的值替换文件中的字符串

我有两个文件.其中一个定义了一组数值对,如下所示 (fileA): 1 个汇编2 断言3 生物4 引导5 引导主6 缓冲7 猫8 控制台9 分10回声 另一个文件包含一堆值对,如下(fileB): 生物类型生物定义生物参数生物自旋锁生物缓冲bootasm 汇编bootasm 内存布局引导程序引导主类型引导主精灵引导主 x86引导主内存布局猫的种类猫状态猫用户 我想编写一个脚本,用文件 A ..
发布时间:2021-12-24 12:24:14 服务器开发

用于合并具有匹配第一个字段的行的命令行,50 GB 输入

不久前,我问了一个关于合并具有共同第一个字段的行的问题.这是原文:匹配的命令行具有匹配第一个字段(sed、awk 等)的行 样本输入: a|loremb|假设b|多色c|坐d|ametd|consecteture|吸脂e|精英 所需的输出: b|ipsum|dolord|amet|consecteture|adipisizing|精英 这个想法是,如果第一个字段匹配,则合并行.输入已 ..
发布时间:2021-12-24 12:24:07 其他开发

将序列号折叠到bash中的范围

我正在尝试将序列号折叠为 bash 中的范围.例如,如果我的输入文件是 1234151617182223454647 我希望输出为: 1 415 1822 2345 47 如何在单行命令中使用 awk 或 sed 执行此操作? 感谢您的帮助! 解决方案 $ awk 'NR==1{first=$1;last=$1;next} $1 == last+1 {last=$1;next ..
发布时间:2021-12-24 12:23:27 其他开发

如何使用 sed/awk 替换逗号分隔字符串中的第 n 列/字段?

假设我有一个字符串 "1,2,3,4" 现在我想替换,例如字符串的第三个字段由一些不同的值. "1,2,NEW,4" 我使用以下命令设法做到了这一点: echo "1,2,3,4" |awk -F, -v OFS=, '{$3="NEW";打印 }' 现在要替换的列的索引应该作为变量传递.所以在这种情况下 index=3 如何将其传递给 awk?因为这行不通: echo "1,2 ..
发布时间:2021-12-24 12:23:17 其他开发

在 Ubuntu 上查找并删除 DOS 行结尾

我发现我的许多文件都有 DOS 行结尾.在 VI 中,它们看起来像这样:“^M".我不想修改没有这些 DOS 行结尾的文件.如何使用 bash 脚本执行此操作?谢谢! 电动汽车 解决方案 grep -URl ^M .|来自dos的xargs grep 为您提供当前目录下具有 DOS 行结尾的所有文件的列表. -U 使 grep 考虑行尾而不是默认将它们剥离 -R 使其递 ..
发布时间:2021-12-24 12:22:45 服务器开发

从文件中获取模式,与另一个文件的列进行比较,打印匹配的行,使用 awk

我基本上想结合 的力量 grep -f 与 awk '{ if($2=="这是我想输入固定字符串模式文件的地方") print $0}' 也就是说,我想使用模式输入文件(文件 2)搜索文件(文件 1)的特定列.如果简单地找到匹配: >输出文件.txt 从之前的帖子中,这条 awk 行非常接近: awk 'NR==FNR{a[$0]=1;next} {n=0;for(i in a){ ..
发布时间:2021-12-24 12:22:11 服务器开发

按列格式化输出

我想知道如何格式化以下输出: -0.3116274D-04-0.2389361D-04-0.1192458D-040.3306203D-040.2534987D-040.1265136D-04-0.2167920D-04-0.3713258D-04-0.2294900D-05-0.4151710D-05-0.7674479D-03-0.5749288D-040.1393479D-040.6763 ..
发布时间:2021-12-24 12:21:49 其他开发

如何使用 awk/sed 更改小数点分隔符?

如何使用 sed 或 awkXXXXXX.XXX 更改为 XXXXXX,XXX/代码>? 解决方案 你想要多严格?您可以更改所有 . 字符,正如其他人所建议的那样,但是如果您有更多的数字,这将允许很多误报.更严格的是要求点的两边都有数字: $ echo 123.324 2314.234 adfdasf.324 1234123.daf 255.255.255.0 adsf.asdf a1. ..
发布时间:2021-12-24 12:21:09 其他开发

unix shell:用字典替换

我有一个包含一些数据的文件,就像这样 2011-01-02 100100 12011-01-02 100200 02011-01-02 100199 32011-01-02 100235 4 并在单独的文件中有一些“字典" 100100 事件 1100200 事件 2100199 事件3100235 事件 4 我知道 0 - 警告1 - 错误2 - 关键等等... 我需要一些带有 se ..
发布时间:2021-12-24 12:20:33 其他开发

如何使用 sed/awk 切换/旋转每两行?

我一直在手工做这件事,但我再也做不到了——我有成千上万行,我认为这是 sed 或 awk 的工作. 本质上,我们有一个这样的文件: 一句话X匹配的句子 Y一句话Z一个匹配的句子 N 这个模式在整个文件中继续.我想翻转每个句子和匹配的句子,这样整个文件就会变成这样: 一个匹配的句子Y一句话X一个匹配的句子 N一句话Z 有什么建议吗? 编辑:扩展初始问题 Dimitre Ra ..
发布时间:2021-12-24 12:20:15 其他开发

匹配模式后提取第 N 行

我想使用 grep、awk 或 sed 提取匹配模式后的第 N 行. 例如我有这样一段文字: 修订版:60000 我想提取 60000. 我试过 Revision:([a-z0-9]*)\s*([0-9]){5} 将 Revision 与修订号相匹配,但是当我通过时到 grep:grep Revision:([a-z0-9]*)\s*([0-9]){5} file.ht ..
发布时间:2021-12-24 12:19:52 其他开发

Linux 按列合并两个文件

我正在尝试合并两个文件,如下所示(交集) ID 姓名 电话约翰一书 0112 山姆 0133 耶拿 0144 彼得 015 第二个文件Test2.txt 1 Test1 Test22 测试 3 测试 43 测试 5 测试 64 测试7 测试85 测试7 测试86 测试7 测试87 测试7 测试88 测试7 测试89 测试7 测试8 然后是最终结果 ID 姓名 电话 Remark1 Rem ..
发布时间:2021-12-24 12:19:43 服务器开发

sed 或 awk 中的字符串大写

我想在 bash 脚本中使用三种类型的字符串.我认为 sed/awk 将是我最好的选择,但我不确定.鉴于以下要求,最好的方法是什么? 单字 例如炸玉米饼 ->炸玉米饼 多个单词用连字符分隔 例如my-fish-tacos ->我的鱼炸玉米饼 多个单词用下划线分隔 例如my_fish_tacos ->My_Fish_Tacos 解决方案 没有必要使用捕获组(尽管 & ..
发布时间:2021-12-24 12:19:29 其他开发

使用 awk 或 sed 连接两个连续的行

如何使用 awk 或 sed 连接两行? 我有这样的数据: abcd加入abcd哎呀加入艾克尔乔伊克尔 我需要像下面这样的输出: joinabcdabcd加入乔伊克利克尔 解决方案 awk '!(NR%2){print$0p}{p=$0}' infile ..
发布时间:2021-12-24 12:19:24 服务器开发

如何grep最后一次出现的线条图案

我有一个包含内容的文件 x一个X乙XC 我想 grep 最后一次出现, xC 当我尝试 sed -n "/x/,/b/p" 文件 它列出了所有行,从 x 到 c. 解决方案 我不确定我的问题是否正确,所以这里有一些黑暗中的镜头: 打印 x 的最后一次出现(正则表达式): grep x 文件 |尾-1 或者: tac 文件 |grep -m1 x 从匹配的第一行到结 ..
发布时间:2021-12-24 12:19:13 其他开发

将 csv 文件的第一列解析为新文件

操作系统:OSX方法:从命令行,所以使用sed,cut,gawk,虽然最好不要安装模块. 本质上,我试图获取 csv 文件的第一列并将其解析为一个新文件. 示例输入文件 EXAMPLEfoo,60,6例如bar,30,6例1、60、3例2,120,6例3、60、6例4、30、6 期望输出 EXAMPLEfoo示例栏例1例2例3例4 所以我想要第一列. 这是我迄今为止尝试过 ..
发布时间:2021-12-24 12:19:03 其他开发

使用 Bash 的两个列表之间的区别

好的,我的 linux box 上有两个相关的文本文件列表: /tmp/oldList/tmp/newList 我需要比较这些列表以查看添加了哪些行以及删除了哪些行.然后,我需要遍历这些行并根据它们是被添加还是被删除对它们执行操作. 如何在 bash 中执行此操作? 解决方案 使用 comm(1) 命令比较两个文件.它们都需要排序,如果它们很大,您可以事先进行排序,或者您可以使用 ..
发布时间:2021-12-24 12:18:45 其他开发