awk相关内容
我想从 html 文件的锚标记中提取 URL.这需要使用 SED/AWK 在 BASH 中完成.请不要使用 perl. 最简单的方法是什么? 解决方案 你也可以这样做(前提是你安装了 lynx)... Lynx 版本 2.8.8 lynx -dump -listonly my.html Lynx 版本 >= 2.8.8(@condit 提供) lynx -dump -h
..
我有一个包含三列的文件.我想删除第三列(就地编辑).如何使用 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+)?\
..
我需要编辑大量文件,方法是在独特图案的正下方或上方插入一行或多行.请建议如何在 shell 中使用 sed、awk、perl(或其他任何东西)来做到这一点.谢谢!示例: 一些文字lorem ipsum dolor 坐 amet更多文字 我想在lorem ipsum dolor sat amet之后插入consectetur adipiscing elit,所以输出文件看起来像: 一些文字lo
..
这是示例文件: 一些东西...全部:别的东西一些其他的东西 我想要做的是添加到以 all: 开头的行,如下所示: 一些东西...全部:事物其他事物另一事物一些其他的东西 解决方案 这对我有用 sed '/^all:/s/$/anotherthing/' 文件 第一部分是要查找的模式,第二部分是使用 $ 作为行尾的普通 sed 替换. 如果要在此过程中更改文件,请使用-i 选项
..
我想删除文件中的所有非 ASCII 字符. 我用 tr 找到了一个解决方案,但我想我需要在修改后写回那个文件. 我需要在性能相对较好的地方进行. 有什么建议吗? 解决方案 # -i (inplace)sed -i 's/[\d128-\d255]//g' 文件名
..
问题:我想在包含匹配模式的行之后直接打印一行. 我的 sed 版本不会采用以下语法(它会在 +1p 上爆炸),这似乎是一个简单的解决方案: sed -n '/ABC/,+1p' infile 我认为 awk 更适合进行多行处理,但我不知道该怎么做. 解决方案 永远不要使用“模式"这个词;因为它非常模棱两可.始终使用“字符串"或“正则表达式"(或在 shell 中的“globbin
..
我尝试使用 ssh 运行远程 awk 语句.我的代码是: ssh username@hostIP "awk 'NR==1 {max=0;min=1} NR>1 {if (max1{if(max
..
我正在尝试通过 ssh 执行一个包含 `sub-code` 或 $(sub-code) 的命令(我一直使用它,但我不知道正式名称为此)首先执行,但在目标服务器上. 为了论证起见,假设这是我要使用的命令.当然,这可以通过 hostname 来完成,但这只是一个包含我想要使用的所有格式化向导的简化示例. echo `uname -a |awk '{print $2}'` 没问题.但是你如何正
..
我正在启动一个 EC2 实例,方法是调用 ec2-run-instances 来自简单的 bash 脚本,并希望对该实例执行进一步的操作(例如关联弹性 IP),为此我需要实例 ID.> 命令类似于ec2-run-instances ami-dd8ea5a9 -K pk.pem -C cert.pem --region eu-west-1 -t c1.medium -n 1,及其输出: RESE
..
我有两个如下所示的文件,它们以制表符分隔: 文件 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"
..
所以我有一个非常简单的 bash 脚本,它可以卷曲到身份验证服务器以获取标头.标头 url 被写入一个 var,然后在下一个 curl 调用中使用.在第一个 curl 调用中使用 var 设置时,我收到“curl: (3) Illegal characters found in URL".我能够回显 var 并且一切看起来都不错,我什至可以重置 var(在下面的示例中)并且它可以工作. Ba
..
我有一个日期为 12/12/2013 14:32 我想把它转换成只有 12/12/2013.字符串可以是 1/1/2013 12:32 或 1/10/2013 23:41 我只需要日期部分. 解决方案 您可以使用各种 Unix 工具轻松完成此操作: $ cut -d' ' -f1
..
我正在做某些文本处理操作,最后能够得到一个这样的文件 印度苏丹日本法国 现在我想在上面的文件中添加一个注释,就像在最终文件中一样,它应该是 印度 |国家苏丹 |国家日本 |国家法国 |国家 喜欢整个文件中的相同评论.我该怎么做? 解决方案 方法很多: sed:用给定的文本替换$(行尾). $ sed 's/$/|国家/'文件印度 |国家苏丹 |国家日本 |国家法国 |国家
..
我目前正在尝试针对更大的 csv 文件(3.000.000 行)grep 一个大的 id 列表(~5000). 我想要包含 id 文件中的 id 的所有 csv 行. 我天真的方法是: cat the_ids.txt |读行时做猫巨大.csv |grep $line >>输出文件完毕 但这需要永远! 有没有更有效的方法来解决这个问题? 解决方案 尝试 grep -f
..
有这个文本文件: 姓名、年龄乔,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, 在 , 上拆分
..
我需要从输入文件中删除所有空行并写入输出文件.这是我的数据如下. 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
..
我正在尝试删除以下 input.txt 的第 2 列中的前导和尾随空格: 名称、订单 修剪,工作 cat,cat1 我使用下面的 awk 删除了第 2 列中的前导和尾随空格,但它不起作用.我错过了什么? awk -F, '{$2=$2};1' input.txt 输出如下: 名称、订单 修剪,工作 cat,cat1 前导和尾随空格不会被删除. 解决方案
..
我想在文件中搜索一个模式并在找到该模式后打印 5 行. 为了做到这一点,我需要使用 awk. 示例: 文件内容: ....####图案########第 1 行#第2行#第 3 行#第 4 行#第5行... 如何解析文件并仅打印上述行?我是否使用包含“PATTERN"的行的 NR 并继续增加到 5 并在此过程中打印每一行.请让我知道是否有任何其他有效的 wat 可以在 awk
..
我有两个文件我正在尝试基于 1 和 2 列加入/合并.它们看起来像这样,file1(58210 行)比 file2(815530 行)短得多,并且我想根据字段 1 和 2 作为索引找到这两个文件的交集: file1: 2L 25753 331582L 28813 331582L 31003 331582L 31077 331612L 31279 331613L 32124 453393L
..
如何将单词的第一个字母替换为大写字母,例如 麻烦我了淘金新娘 进入 麻烦我了淘金新娘 解决方案 这一行应该这样做: sed -e "s/\b\(.\)/\u\1/g"
..