Articles of sed

Sed使用情况,删除/更改文本

我有一个string,生成如下 OK::82.44.127.13:GB:UNITED KINGDOM:ENGLAND:WOKING:-:51.000:-0.55813:+01:00 我需要一个sedstring基本上改变 82.44.127.13;GB UNITED KINGDOM ENGLAND WOKING;51.000;-0.55813 我认为这将需要多次sed,到目前为止我有: sed 's/:-:/;/g' (which will change the :-: to a 😉 sed 's/:-/;-/g' (which will change the :- to a 😉 sed s/OK:://g (which will strip the OK::) 但即时通讯卡上如何更改:IP地址和位置之间的一个;,然后删除所有其他:,还剥离的时间? (注意不是真的IP地址)

脚本 – 复制行和第二行如果第二行有一个string

我有一个问题,我有大量的文件,我需要扫描并返回一行和它的下一行,但只有当下面一行以string开始。 String one – line one must begin with 'Bill' String two – line two must begin with 'Jones'. 如果这两个标准匹配,则返回两行。 重复整个文件。 即。 原始文件: Edith Blue Edith Green Edith Red Bill Blue Jones Red Edith Green Bill Green Edith Red Jones Green Bill Blue 我希望它只返回: Bill Blue Jones Red 有任何想法吗? 不知道从哪里开始,我只有基本的脚本技能与sed / awk等…目前,我用这个来获取文件名及其后续行,但它给了我太多无用的信息,我有剥离与其他sed命令。 grep -A 1 […]

Linux剪切命令 – 捕获多个位置之间的string

我有一个包含很长的行的文本文件。 我想通过指定几个位置来获取文件的一部分。 我试过了,但似乎正好与我所需要的相反。 它只捕捉我不想要的东西。 我的切割代码: /bin/cat file.txt | /usr/bin/cut -f50-62,3414-5706427 我的预期结果是除了字符50-62和字符3414-5706427之外的整个文件。 我也想过sed但是没有办法让sed把我所需要的数据拿出来。 有没有任何Linux命令来扭转结果?

按出现频率sorting文本文件

给定一个文本文件,其中将有重复的行,如: this is a line this is a line this is another line this is a line this is yet another line this is yet another line 是否有可能在命令行上打印出每个唯一的行,但按其出现的频率sorting。 即以前的文本的结果将是: this is a line this is yet another line this is another line 它们分别出现3次,2次和1次。

如何删除包含匹配单词的文件中给定间隔的行?

我需要使用sed从文件中只删除包含给定单词的行。 但是如果我的文件有50行,我只需要看第30行就可以了。 我知道: sed '1,30d' f.txt 将删除文件的前30行。 和: sed '/Text/d' f.txt 将删除包含匹配词“文本”的文件中的所有行。 我如何结合这两个来解决我的问题? 谢谢。

如何使用sed删除所有行,直到第一列中的第一个匹配?

如何使用sed删除所有行,直到第一列中的第一个匹配? 结果应该保留最后三行。 文件 1fff 2ddd 3zzz TestXXX TestXXX Test XXX Mike Charly sed -i'/ Test /'文件

Linux Shell:如果string中有相同的单词,则将两个string从文件中合并

小问题,但对我来说很难。 我有两个文件。 文件A: www.def.aBc.com 123.aaa.cOm 555.bbb.com.hk www.fwe.wef.CcC.hk www.abc.com 555.hjr.bbb.cOm.hk www.ccc.hk www.def.Abc.coM 123.aaa.COM 555.bbb.com.Hk www.fwe.wef.cCc.hk www.aBc.com 555.hjr.bbb.com.hK www.ccc.hk 文件B: aaa.com abc.com bbb.com.hk ccc.hk 如果匹配单词的结尾(不关心大小写),我试图将文件B附加到文件A. 这样的输出: www.def.aBc.com abc.com 123.aaa.cOm aaa.com 555.bbb.com.hk bbb.com.hk www.fwe.wef.CcC.hk ccc.hk www.abc.com abc.com 555.hjr.bbb.cOm.hk bbb.com.hk www.ccc.hk ccc.hk www.def.Abc.coM abc.com 123.aaa.COM aaa.com 555.bbb.com.Hk bbb.com.hk www.fwe.wef.cCc.hk ccc.hk www.aBc.com abc.com 555.hjr.bbb.com.hK bbb.com.hk www.ccc.hk ccc.hk

Linux命令来查找两个可比较的行

我有以下sorting顺序的数据(这里的数据按照第一个v1,然后是v2,然后是v3,然后是v4)sorting: v1=1 v2=8513481 v3=119330184 v4=0 v1=1 v2=8521383 v3=119330182 v4=0 v1=1 v2=10630231 v3=60529116 v4=18 v1=1 v2=60528877 v3=60529221 v4=17 v1=1 v2=90351079 v3=90351078 v4=20 v1=1 v2=271669588 v3=271669683 v4=101 v1=2 v2=8513481 v3=10583646 v4=0 v1=2 v2=10175437 v3=10175436 v4=0 v1=2 v2=10630231 v3=60528947 v4=17 v1=2 v2=10630231 v3=60529119 v4=18 v1=2 v2=10630232 v3=605291191 v4=18 现在我想找出两行的v1和v2是相等的行。 即在上面给出的数据中,我想查找以下forms的行: v1=2 v2=10630231 v3=60528947 v4=17 v1=2 v2=10630231 v3=60529119 v4=18 […]

从文件中删除70多个string的最快方法?

我有70多个string,我需要在文件中查找和删除。 我需要删除string出现在文件中的整个行。 我知道我可以使用sed -i '/string to remove/d' fileA.txt ,一次删除它们。 不过,考虑到我有70+,这样做需要一些时间。 有没有办法可以把这70多个string放在一个文件中,让sed一个接一个? 或者,如果我创build一个包含string的文件,是否有办法比较这两个文件,以便从fileA中删除包含其中一个string的任何行?

使用sed将一段代码添加到my.cnf

我试图设置一个bash脚本来追加一些代码到/etc/mysql/my.cnf [mysqld] <– new code needs to append here old code old code old code 应该导致 [mysqld] # set default collation collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8 old code old code old code 我已经尝试了以下,但它不起作用。 #!/usr/bin/env bash echo "Set default collation to UTF-8 in /etc/mysql/my.cnf" sudo sed -i 'a\ # set default collation\ […]