Questions tagged «sed»

“ sed”(“流编辑器”)是一个Unix实用程序,用于解析和转换文本文件。

4
如何匹配sed中的空格?
如何匹配sed中的空格?在我的数据中,我想匹配所有3个以上的后续空白字符(制表符空间),并将其替换为2个空格。如何才能做到这一点?
218 sed  whitespace 

3
如何使用sed匹配数字后跟点?
我正在尝试sed用数字替换所有模式,然后用一个点(例如3.,355.)紧跟一个空字符串。所以我尝试: sed 's/\d+\.//g' file.txt 但这是行不通的。这是为什么?
75 regex  sed 

10
从文本流中删除ANSI颜色代码
检查来自的输出 perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' 在文本编辑器(例如vi)中显示以下内容: ^[[37mABC ^[[0m 如何从输出文件中删除ANSI颜色代码?我想最好的方法是通过各种流编辑器通过管道传递输出。 以下不起作用 perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' | perl -pe 's/\^\[\[37m//g' | perl -pe 's/\^\[\[0m//g'
73 regex  sed  perl  awk 

6
在sed的正则表达式中使用交替“|”
我使用的是sed,GNU sed版本4.2.1。 我想使用交替“|”子表达式中的符号。 例如 : echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g' 应该回来 " blib bou " 但它回来了 "blia blib bou blf". 我怎样才能得到预期的结果?
71 regex  sed 

10
文本文件中的替换**不带正则表达式
我需要用替换内容替换文本文件中的一些文本。通常我会做类似的事情 sed -i 's/text/replacement/g' path/to/the/file 问题在于,两者text和replacement都是包含破折号,斜杠,黑斜杠,引号等的复杂字符串。如果我逃避了所有必要的字符text,事情就会很快变得不可读。另一方面,我不需要正则表达式的功能:我只需要逐字替换文本即可。 有没有一种方法可以在不使用某些bash命令使用正则表达式的情况下进行文本替换? 编写执行此操作的脚本会很简单,但是我认为应该已经存在一些东西。
68 bash  regex  sed  text-editing 

5
Mac OS X上的sed换行符
我发现\n在Mac OS X下的sed 中不起作用。特别是,说我想将由单个空格分隔的单词分成几行: # input foo bar 我用, echo "foo bar" | sed 's/ /\n/' 但是结果是愚蠢的,\n没有逃脱! foonbar 向Google咨询后,我找到了一种解决方法: echo 'foo bar' | sed -e 's/ /\'$'\n/g' 看完这篇文章后,我仍然不明白什么\'$'\n/g'意思。有人可以向我解释一下吗,或者还有其他方法可以做到吗?谢谢!
44 macos  mac  bash  regex  sed 


4
如何使用sed删除空字节?
sed从文件中删除空字节的意图是什么?我尝试着: s/\000//g 但这就是去除零的字符串。 s/\x00//g 似乎没有效果。我正在尝试在sed脚本中执行此操作,因此我不确定该echo技巧是否有效。
37 sed 

8
sed:如果找到则如何替换行,或者如果找不到则追加到文件末尾?
对于仅包含注释(以#开头)和VARIABLE = value行的单个输入文件,是否可以替换单个变量的值(如果找到),否则,可以将对附加到文件末尾(如果找不到)? 我当前的方法是通过在第一遍中将其删除,然后在第二遍中将其添加到文件末尾的方式来工作的,但是此方法弄乱了行的顺序(也是两个不同的命令): sed -r "/^FOOBAR=.*$/d" -i samefile && sed -r "$ a\FOOBAR=newvalue" -i samefile 反正有做到这一点,即。在单个sed行中保持行顺序?如果其他实用程序(awk,...)执行此操作,则将其接管sed。
34 linux  command-line  sed  awk 

3
如何在管道上使用“ sed”
我想替换从输出的字符串grep,我有: $ npm info webpack | grep version 它输出我 $ version: '2.1.0-beta.12', 但我想拥有: $ 2.1.0-beta.12 所以我想我可以使用sed并替换不必要的子字符串来实现。但是这对我来说是困难的部分: $ npm info webpack | grep version: | sed s/version: / sed: -e expression #1, char 10: unterminated `s' command 如何实现我的目标?
34 bash  grep  sed 


3
如何用sed模式替换文件中的行?
我正在阅读有关sed的许多文档,但仍然对我的特定用例感到困惑。 我想用自己的一行替换conf文件中的这一行: 替换此行: #maxmemory <字节> 与: 最大内存26gb 这是我尝试的: sed s / maxmemory。* bytes。* / maxmemory 26gb / /etc/redis/redis.conf 我得到错误: sed:-e表达式#1,字符30:未终止的s命令 这让我感到难过,因为我不知道那意味着什么。所以我的问题是: 我该如何完成我想要的?该错误是什么意思?(所以我可以从中学到)

6
如何使用单个命令解析ps输出来获取正在运行的进程的pid?
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 7年前。 我正在寻找单行,它确实返回正在运行的进程的pid。 目前我有: ps -A -o pid,cmd|grep xxx|head -n 1 这又回到了拳头pid, command。我只需要输出中的第一个数字,而忽略其余的。我想sed或awk会在这里有所帮助,但我对他们的经验有限。 另外,这还有另一个问题,如果xxx没有运行,它将返回grep的pid。 一行很重要,因为我想重用输出来做其他事情,例如杀死该进程。
22 bash  sed  awk  pid 

18
仅列出所有可用网络接口的设备名称
我想获取我的Linux服务器上所有可用的网络设备名称的列表。我认为 ifconfig 可以完成这项工作,但是ifconfig会产生很多输出: eth0 Link encap:Ethernet Hardware Adresse 08:00:27:fc:5c:98 inet Adresse:192.168.2.222 Bcast:192.168.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fefc:5c98/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:329 errors:0 dropped:0 overruns:0 frame:0 TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:41496 (40.5 KiB) TX bytes:32503 (31.7 KiB) eth1 Link encap:Ethernet Hardware Adresse 08:00:27:e9:35:7d …
21 linux  networking  grep  sed  cat 

2
编辑大文本文件的第一行
我有一个巨大的文本文件,对于整个页面来说太大了,无法分页到内存中。我需要做的只是编辑第一行(它是CSV文件,我需要更改标题)。 有什么简单的方法可以让我在bash中做到这一点吗?
16 linux  bash  grep  sed  textfiles 

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.