Questions tagged «sed»

sed是用于过滤和转换文本的命令行流编辑器。

8
Grep其余部分…比赛结束后
我有一个仅包含两行的文件,具有以下结构: $ cat /tmp/pwpower.log 000D6F0000D34227, -114.10 000D6F0001A405C4, -130.09 这些值是我的太阳能发电厂的功率值。负值表示生成。 我需要通过grep / sed / awk提取的值-哪种方法最聪明。我需要分别提取两个值并且没有减号。 我现在做的事有点愚蠢,但是可以用-我敢肯定你们中的许多人会为我提供更聪明的方法:-)在这里,我当然只看到值加上减号。 要获得第一个值: cat /tmp/pwpower.log |grep -o "\-.*" | head -n 1 要获取第二个值: cat /tmp/pwpower.log |grep -o "\-.*" | tail -n1 和相关的问题,是否有一种简单的方法来获取这些STRING并进行转换,以便我可以计算出SUM?

3
Linux中最快的`uniq`工具
我的文本文件很大(1.5 G), 我想知道Linux中最快,更可靠的工具是什么。 我通常使用: awk '!x[$0]++' file.txt 但是当我使用htop命令时,我看到我的内存使用量正在增加。 我想知道什么是处理大型文件最快,更可靠的方法。 uniq? sort? sed? awk? 为什么?
8 sed  awk  memory  sort  uniq 

3
如何删除字符串中的特定字符,但前提是在Linux中该行中没有数字时
我已经为这个看似简单的问题感到困惑。 这是我需要编辑的文件的示例输出: $cat file George Washington Geneva Convention 123,281,029 USD 342,019,929 EUR 我需要删除“乔治华盛顿”和“日内瓦公约”之间的空格,而不是“ 123,281,029 USD”或“ 342,019,929 EUR”之间的空格。 本质上,我的目标是仅在一行中没有数字的情况下才删除一行中单词之间的空格。 我试图通过编辑文件grep -v [0-9] $file | sed 's/ //',但是唯一可行的方法是输出到另一个文件,但这意味着从旧文件到新文件都排除了所有带数字的行,这不是我所需要的。 我已经用grep尝试了一些非常荒谬的循环,sed但是似乎没有什么能正常工作。 同样,这是文件的示例输出: $cat file George Washington Geneva Convention 123,281,029 USD 342,019,929 EUR 这是我想要的输出: $cat file GeorgeWashington GenevaConvention 123,281,029 USD 342,019,929 EUR
8 centos  sed  string  replace 

5
匹配模式时如何在行尾添加文本?
输入: line1 with the PATTERN that contains ( ) line2 with the PATTERN that contains ( ) lineN with the PATTERN that contains ( ) 输出: line1 with the PATTERN that contains ( ) ; line2 with the PATTERN that contains ( ) ; ... lineN with the PATTERN that …

7
如何使用`sed`匹配确切的字符串?但不是它的一部分。
我有一个输入文件FILE1.TXT如下。 11 id1 12 13 AGE = 20 14 NAME = NAME1 15 16 id2 17 18 AGE = 30 19 NAME = NAME2 . . . 110 idXYZ 111 112 AGE = AGEXYZ 113 NAME = NAMEXYZ 114 115 idZZZ 116 我想搜索属于特定ID的所有字段并获取NAME的值 我设法遍历每个Id,并根据需要为每个Id形成了以下命令。 sed -n '/11/,/14/p' FILE1.TXT | grep …
8 sed  string  patterns 

5
第n次匹配后打印行
我希望在以下文件中显示第4598行。实际上,我想在第n次匹配后显示该行。在这种情况下,第三次出现的行<Car>。我该怎么办? <Car> 10456 </Car> <Car> 70192 </Car> <Car> 4598 </Car>

6
文件中段落的相反顺序
我有一个在段落中包含文本的文件(文本行由一个或多个空行分隔)。我想反转段落的顺序(即最后一段将成为第一段,...),最好使用sed。 我正在寻找一个sed命令,该命令对段落tac文件有效,对行文件有效。

3
用sed模拟尾巴
我有一个小系统,数字仅限于二进制文件(bash,cp,cat,sed,...)。我没有tail命令,我想知道是否可以使用sed cat foo.txt | tail -n 10 我知道我可以用sed打印1-10行cat foo.txt | sed -n '1,10p',但是我将如何打印最后10行?
8 bash  sed 

3
从一行中提取不带定界符的固定宽度记录
我需要从单个文件中提取文本字符串,该文件包含一行很长的文本,没有定界符。使用下面的示例行,这些是以下已知事实: ??????? A1XXXXXXXXXX ??????? B1XXXX ??????? A1XXXXXXXXXX ??????? C1XXXXXXX 1. It contains 38 fixed width record types 2. The record marker is a 7 alphanumeric character followed by, for example, ‘A1’. 3. Each record type has varying widths, for example, A1 record type will have 10 characters following it, if …

2
grep比赛前一行加上比赛
zzzzzzzzz aaaaaaaaa bbbbbbbbb & ccccccccc & ddddddddd hhhhhhhhh eeeeeeeee fffffffff & ggggggggg & 在上面的行中,我想要的是grep/ sed/ awk(任何方法都可以)行上有&符号加一行的符号。因此,例如,所需的输出将如下所示: aaaaaaaaa bbbbbbbbb & ccccccccc & eeeeeeeee fffffffff & ggggggggg & 以下是我没有运气尝试过的。 egrep "&" | -b 1 file.txt


2
如何仅替换与sed中的几种模式匹配的行?
$ echo -e 'CH12\nCH23au' | sed '/^CH/s=^=<b>=' <b>CH12 <b>CH23au 我知道我可以匹配以CHby 开头的行,^CH但是如何匹配多个模式? 例: 输入: CH12 CH23au 输出: CH12 <b>CH23au 如何只放<b>那里是^CH和au该行?
8 sed 

4
如何使用SED或AWK将模板文件中的占位符替换为包含特殊字符的可变内容?
CentOS的6.3 我正在尝试获取一个小脚本,以发送包含正文中电子邮件标头副本的电子邮件(用于内部报告)。 模板文件包含以下内容: Alert Report Alert has triggered at TMPDATE HEADERS ------- TMPHEADERS SOURCE IP --------- TMPSOURCEIP 我希望我的脚本查找和替换与警报有关的实际信息“ TMP”占位符。 日期和源IP变量似乎工作正常,但是如果/当我尝试查找/替换TMPHEADERS时,它将导致奇怪的症状,包括整个输出为空。我可以肯定地说,这与包含许多特殊字符(@%&等)的标头有关。 有人可以建议如何最好地通过bash做到这一点吗? 我当前的代码如下所示: cat /test/emailtemplate | sed s/TMPHEADERS/"$HEADERS"/ > /test/output 更新 根据请求,这是我尝试插入模板文件的一组示例头(IP地址和电子邮件地址已更改,以保护无辜的:-)): From foo@yahoo.com Thu Apr 25 20:18:19 2013 Return-Path: <foo@yahoo.com> Received: from nm30-vm0.bullet.mail.ne1.yahoo.com (nm30-vm0.bullet.mail.ne1.yahoo.com [98.138.11.36]) by serv.example.com (8.14.4/8.14.4) with ESMTP …

5
从命令行删除每行的第一个和最后一个字符
我正在尝试在文本文件中删除每行的第一个和最后一个字符,并将截断的版本保存在新文件中。是否有人对使用awk大型文件专用的Linux程序或命令有效地做到这一点? input.txt (s,2,4,5,6) "s,1,5,5,2" {z,0,4,5,3} [y,2,4,5,5] (y,4,4,5,7) (r,20,4,5,7) (e,9,4,5,2) 预期的output.txt s,2,4,5,6 s,1,5,5,2 z,0,4,5,3 y,2,4,5,5 y,4,4,5,79 r,20,4,5,7 e,9,4,5,2


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.