awk相关内容

用 awk 或 sed 删除一列

我有一个包含三列的文件.我想删除第三列(就地编辑).如何使用 awk 或 sed 执行此操作? 123 abc 22.3453 腹肌 56.71236 hjg 2.3 期望的输出 123 abc第453章第1236章 解决方案 这可能对你有用(GNU sed): sed -i -r 's/\S+//3' 文件 如果要删除第三个字段前的空格: sed -i -r 's/(\s+)?\ ..
发布时间:2021-12-24 11:54:29 其他开发

使用 sed,在模式上方或下方插入一行?

我需要编辑大量文件,方法是在独特图案的正下方或上方插入一行或多行.请建议如何在 shell 中使用 sed、awk、perl(或其他任何东西)来做到这一点.谢谢!示例: 一些文字lorem ipsum dolor 坐 amet更多文字 我想在lorem ipsum dolor sat amet之后插入consectetur adipiscing elit,所以输出文件看起来像: 一些文字lo ..
发布时间:2021-12-24 11:54:18 其他开发

如何使用 sed 或 awk 添加到包含模式的行的末尾?

这是示例文件: 一些东西...全部:别的东西一些其他的东西 我想要做的是添加到以 all: 开头的行,如下所示: 一些东西...全部:事物其他事物另一事物一些其他的东西 解决方案 这对我有用 sed '/^all:/s/$/anotherthing/' 文件 第一部分是要查找的模式,第二部分是使用 $ 作为行尾的普通 sed 替换. 如果要在此过程中更改文件,请使用-i 选项 ..
发布时间:2021-12-24 11:53:52 其他开发

从 CSV 中删除非 ASCII 字符

我想删除文件中的所有非 ASCII 字符. 我用 tr 找到了一个解决方案,但我想我需要在修改后写回那个文件. 我需要在性能相对较好的地方进行. 有什么建议吗? 解决方案 # -i (inplace)sed -i 's/[\d128-\d255]//g' 文件名 ..
发布时间:2021-12-24 11:53:19 其他开发

使用 sed 或 awk 按照匹配模式打印一行

问题:我想在包含匹配模式的行之后直接打印一行. 我的 sed 版本不会采用以下语法(它会在 +1p 上爆炸),这似乎是一个简单的解决方案: sed -n '/ABC/,+1p' infile 我认为 awk 更适合进行多行处理,但我不知道该怎么做. 解决方案 永远不要使用“模式"这个词;因为它非常模棱两可.始终使用“字符串"或“正则表达式"(或在 shell 中的“globbin ..
发布时间:2021-12-24 11:50:54 其他开发

如何在单个 ssh 命令中使用 bash $(awk)?

我正在尝试通过 ssh 执行一个包含 `sub-code` 或 $(sub-code) 的命令(我一直使用它,但我不知道正式名称为此)首先执行,但在目标服务器上. 为了论证起见,假设这是我要使用的命令.当然,这可以通过 hostname 来完成,但这只是一个包含我想要使用的所有格式化向导的简化示例. echo `uname -a |awk '{print $2}'` 没问题.但是你如何正 ..
发布时间:2021-12-23 23:00:05 其他开发

使用 awk 连接两个文件

我有两个如下所示的文件,它们以制表符分隔: 文件 A chr1 123 aa b c dchr1 234 a b c dchr1 345 aa b c dchr1 456 a b c d.... 文件 B xxxx abcd chr1 123 aa c d eyyyy defg chr1 345 aa e f g... 我想将基于 3 列的两个文件与“chr1"、“123"和“aa" ..
发布时间:2021-12-17 20:59:07 其他开发

在 bash 脚本中使用 curl 并获取 curl:(3) 在 URL 中发现非法字符

所以我有一个非常简单的 bash 脚本,它可以卷曲到身份验证服务器以获取标头.标头 url 被写入一个 var,然后在下一个 curl 调用中使用.在第一个 curl 调用中使用 var 设置时,我收到“curl: (3) Illegal characters found in URL".我能够回显 var 并且一切看起来都不错,我什至可以重置 var(在下面的示例中)并且它可以工作. Ba ..
发布时间:2021-12-17 09:36:12 服务器开发

仅打印字符串中的第一个字段

我有一个日期为 12/12/2013 14:32 我想把它转换成只有 12/12/2013.字符串可以是 1/1/2013 12:32 或 1/10/2013 23:41 我只需要日期部分. 解决方案 您可以使用各种 Unix 工具轻松完成此操作: $ cut -d' ' -f1 ..
发布时间:2021-12-15 08:12:48 服务器开发

如何在unix中每行末尾添加文本

我正在做某些文本处理操作,最后能够得到一个这样的文件 印度苏丹日本法国 现在我想在上面的文件中添加一个注释,就像在最终文件中一样,它应该是 印度 |国家苏丹 |国家日本 |国家法国 |国家 喜欢整个文件中的相同评论.我该怎么做? 解决方案 方法很多: sed:用给定的文本替换$(行尾). $ sed 's/$/|国家/'文件印度 |国家苏丹 |国家日本 |国家法国 |国家 ..
发布时间:2021-12-15 08:09:35 服务器开发

针对大文件 grep 大列表

我目前正在尝试针对更大的 csv 文件(3.000.000 行)grep 一个大的 id 列表(~5000). 我想要包含 id 文件中的 id 的所有 csv 行. 我天真的方法是: cat the_ids.txt |读行时做猫巨大.csv |grep $line >>输出文件完毕 但这需要永远! 有没有更有效的方法来解决这个问题? 解决方案 尝试 grep -f ..
发布时间:2021-12-15 08:07:48 服务器开发

awk/Unix 分组依据

有这个文本文件: 姓名、年龄乔,42吉姆,20鲍勃,15迈克,24迈克,15迈克,54鲍勃,21 试图得到这个(计数): joe 1吉姆 1鲍勃 2迈克 3 谢谢, 解决方案 $ awk -F, 'NR>1{arr[$1]++}END{for (a in arr) print a, arr[一个]}'文件.txt乔 1吉姆 1迈克 3鲍勃 2 说明 -F, 在 , 上拆分 ..
发布时间:2021-12-15 08:07:21 服务器开发

如何从Unix文件中删除空行

我需要从输入文件中删除所有空行并写入输出文件.这是我的数据如下. 11216,33,1032747,64310,1,0,0,1.878,0,0,0,1,1,1.087,5,1,1,18-JAN-13,00060322132111216,33,1033196,31300,1,0,0,1.5391,0,0,0,1,1,1.054,5,1,1,18-JAN-13,05976215300311216,3 ..
发布时间:2021-12-15 00:10:14 服务器开发

从 awk 中的字符串修剪前导和尾随空格

我正在尝试删除以下 input.txt 的第 2 列中的前导和尾随空格: 名称、订单 修剪,工作 cat,cat1 我使用下面的 awk 删除了第 2 列中的前导和尾随空格,但它不起作用.我错过了什么? awk -F, '{$2=$2};1' input.txt 输出如下: 名称、订单 修剪,工作 cat,cat1 前导和尾随空格不会被删除. 解决方案 ..
发布时间:2021-12-15 00:09:09 服务器开发

如何使用awk在文件中的模式后打印5个连续行

我想在文件中搜索一个模式并在找到该模式后打印 5 行. 为了做到这一点,我需要使用 awk. 示例: 文件内容: ....####图案########第 1 行#第2行#第 3 行#第 4 行#第5行... 如何解析文件并仅打印上述行?我是否使用包含“PATTERN"的行的 NR 并继续增加到 5 并在此过程中打印每一行.请让我知道是否有任何其他有效的 wat 可以在 awk ..
发布时间:2021-12-15 00:04:04 服务器开发

根据共同的 2 列正确连接两个文件

我有两个文件我正在尝试基于 1 和 2 列加入/合并.它们看起来像这样,file1(58210 行)比 file2(815530 行)短得多,并且我想根据字段 1 和 2 作为索引找到这两个文件的交集: file1: 2L 25753 331582L 28813 331582L 31003 331582L 31077 331612L 31279 331613L 32124 453393L ..
发布时间:2021-12-15 00:03:53 服务器开发