awk相关内容

用 awk 替换列,保留格式

这是文件a.pdb: ATOM 1 N ARG 1 0.000 0.000 0.000 1.00 0.00 N原子 2 H1 ARG 1 0.000 0.000 0.000 1.00 0.00 H原子 3 H2 ARG 1 0.000 0.000 0.000 1.00 0.00 H原子 4 H3 ARG 1 0.000 0.000 0.000 1.00 0.00 H 这是文件a.xyz: 1 ..
发布时间:2021-12-25 09:13:13 其他开发

Bash:按最后一个字段值对文本文件进行排序

我有一个包含 ~300k 行的文本文件.每行都有不同数量的逗号分隔字段,其中最后一个保证是数字字段.我想按最后一个数字字段对文件进行排序.我做不到: sort -t, -n -k 2 file.in >文件输出 因为每行中的字段数不是恒定的.我认为 sed, awk 也许是答案,但不确定如何.例如: awk -F, '{print $NF}' file.in 给我最后一列的值,但如何使用它 ..
发布时间:2021-12-24 12:33:18 其他开发

递归重命名文件 Mac OSX

试图重命名一堆文件. 我可以使用以下命令重命名当前目录中带有 bar 的 foo 的任何实例: ls .|awk '{print("mv "$1" "$1)}' |sed 's/foo/bar/2' |/bin/sh 我可以添加什么使其递归? 编辑/我的解决方案 我不知道/不理解这个 shell 类型的东西,所以我用一些(非常脏的)Ruby 来做: 5.timesdir[" ..
发布时间:2021-12-24 12:32:29 其他开发

为目录中的每个 zip 文件创建一个专用文件夹并提取 zip 文件

如果我选择一个 zip 文件并右键单击“在此处提取",则会创建一个带有 zip 文件名的文件夹,并将 zip 文件的全部内容提取到其中. 但是,我想通过 shell 转换几个 zip 文件.但是当我这样做 解压文件名.zip 文件夹"filename"没有被创建,但是所有的文件都被解压到了当前目录中. 我查看了参数,但没有这样的参数.我也试过 for zipfile in \*. ..
发布时间:2021-12-24 12:31:12 服务器开发

如何:在 Bash 中按照标题大小写规则转换文本

如何在遵循规则的同时将字符串转换为标题大小写,而不只是简单地将单词的每个首字母大写? 示例规则: 将所有单词大写,但以下内容除外: 小写所有冠词(a、the)、介词(to、at、in、with)和并列连词(and、but、or) 将标题中的第一个和最后一个单词大写,与词性无关 有什么简单的方法可以在 bash 中做到这一点?One-liners 表示赞赏. (作为附加说 ..
发布时间:2021-12-24 12:31:02 其他开发

一个 grep(或 sed 或 awk)命令,用于选择文件中特定起始行之后遵循特定模式的所有行

在 Docker Compose 的 yml 文件中,卷在以 volumes: 行开头的部分中声明,后跟模式,例如作为 -host/dir:guest:dir.该部分以下一部分的开头结束,其名称不会一直相同,并且可以是 ports:、environment: 和网络:,等等.通常有多个 volumes: 部分,并且每个部分中的行数未知(并且在 volumes: 部分中不是恒定的). 我需要从 ..
发布时间:2021-12-24 12:30:53 其他开发

使用 AWK 合并基于第一列的唯一行

我正在尝试编写一个 AWK 脚本来汇总大型文本文件中的数据.结果数据的顺序很重要,所以我不能使用排序. 我尝试了 FNR==NR 的不同变体,但没有任何运气 输入文件 高度 3.5重量 12.323岁::高度 4.5重量 15.5年龄 31:: 预期产出 高度 3.5 4.5重量 12.3 15.5年龄 23 31 解决方案 使用 awk: awk '{a[$1]=a[$1 ..
发布时间:2021-12-24 12:30:48 服务器开发

使用诸如 grep、awk 或 sed 之类的 shell 工具解析 xml

我有以下 xml 来根据 tag 的值解析和提取 tag 的值.仅当 type == 'hosted' 时提取.我想使用 bash 工具(如 grep、sed 和 awk)进行提取.没有条件提取单个标签值是我以前做过的事情,而不是有条件的.我可以使用 python 或我知道的任何其他编程语言轻松完成它.但如果在 shell 脚本中完成,这将是理想的. ... ..
发布时间:2021-12-24 12:30:24 其他开发

bash循环提取txt文件片段

我正在处理位于工作目录中的大量 dlg 文本文件的分析.每个文件都有一个表格(通常位于日志的不同位置),格式如下: 文件 1: 聚类直方图____________________________________________________________________________________________________|||||克劳斯 |最低 |运行 |意思 |数量 | ..
发布时间:2021-12-24 12:29:59 其他开发

仅从文本文件中删除完全成形的行范围,同时忽略那些只有起始分隔符的行范围

我要删除 START 和 END 关键字之间的行,如下所述: 开始文本1文本2文本 3开始文本 4结尾文本5文本6开始测试7开始测试8结尾 我的问题在于 START 关键字并不总是以 END 结束.如上例所示,第一个 START 没有以 END 结束,而是在 TEXT3 之后再次以另一个 START 结束. 所以我不能使用以下 sed 命令: sed '/START/,/END/d' ..
发布时间:2021-12-24 12:29:26 服务器开发

仅使用 awk 和 sed 修改第 2 列

我有一个包含 3 列的列表: 2547123456789,5391074043372870,639027123456789 我想像这样修改第二列: sed 's/\([0-9]\)\([0-9]\)/\2\1/g' 使其变为:3519700434738207 我的问题是如何在一行 awk/sed 中执行此操作,同时保持其他列不变,以便我的最终文件具有: 2547123456789,351 ..
发布时间:2021-12-24 12:28:41 其他开发

awk |在字段匹配的基础上合并行

我需要以下方面的帮助: 输入文件: abc message=sent session:111,x,y,zpqr 消息=接收会话:111,4,5,7abc 消息=发送会话:123,x,y,zpqr 消息=接收会话:123,4,5,7abc 消息=发送会话:342,x,y,zabc 消息=发送会话:589,x,y,zpqr 消息=接收会话:589,4,5,7 输出文件: abc messa ..
发布时间:2021-12-24 12:27:37 其他开发

如何在 shell 脚本中从 YML 中删除子块?

我正在尝试比较两个 yml 文件并使用 shell 脚本根据某些条件删除一个块.我正在使用这个 YML 解析器,https://gist.github.com/pkuczynski/8665367 用于 yml 文件的比较.但我真的很难从他们身上移除障碍.例如, 工具:图片:tool.xxx.com/platform/app:devlog_driver: 系统日志重启:总是端口:- “54325 ..
发布时间:2021-12-24 12:27:19 其他开发

如何搜索 &替换 sed 和 awk(和 perl)中的任意文字字符串

假设我们在文件中有一些任意文字,我们需要用其他文字替换它们. 通常,我们只需使用 sed(1) 或 awk(1) 并编写如下代码: sed "s/$target/$replacement/g" file.txt 但是,如果 $target 和/或 $replacement 可能包含对 sed(1) 敏感的字符,例如正则表达式,该怎么办?你可以逃避它们,但假设你不知道它们是什么——它们是任 ..
发布时间:2021-12-24 12:26:52 其他开发

Grep 访问多行,查找两个模式之间的所有单词

需要帮助扫描文本文件并找到两个模式之间的所有单词.比如说,如果我们有一个 .sql 文件,需要扫描并找到 from' 和 'where' 之间的所有单词.Grep 一次只能扫描 1 行.对于这个要求,最好使用的 Unix 脚本是什么?sed、awk有这些功能吗?非常感谢您指出任何示例. 解决方案 Sed 有这个: sed -n -e '/from/,/where/p' file.sql ..
发布时间:2021-12-24 12:26:32 其他开发