Articles of sed

使用awk或sed从ifconfigparsing数据?

我想parsing从sed的ifconfig输出的一些数据,但我不能够正确地做到这一点。 我想要命令提取我后面的数字。 例如,我有兴趣提取发送的字节: eth1 Link encap:Ethernet HWaddr 00:00:00:09:15:f7 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::92e2:baff:fe08:35c7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75141 errors:0 dropped:0 overruns:0 frame:0 TX packets:78046 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9040489 (9.0 MB) TX bytes:34806464 (34.8 MB) 如果我使用sed: ifconfig eth1 | sed 's|.*RX bytes:\([0-9]*\).*|\1|g' 我得到这个输出: eth1 Link encap:Ethernet […]

如何使用sed更改文件扩展名?

我必须做一个sed行(在Linux中也使用pipe道)来更改文件扩展名,所以我可以做一些mv *.1stextension *.2ndextension如mv *.txt *.c 。 问题是我不能使用批处理或for循环,所以我必须使用pipes和sed命令来完成所有操作。

awk / sed:在特定块号的最后一行之前插入文件内容

给定是两个文件,第一个是Apacheconfiguration文件: $ cat vhosts-ssl.conf <VirtualHost *:443> vhost 1 foobar 1 foobar 2 barfoo 1 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 2 foobar 2 barfoo 1 foobar 1 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 3 foobar 1 barfoo 1 foobar 2 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 4 foobar 1 foobar 2 barfoo 1 barfoo 2 […]

转义sedreplacestring中的换行符

这里是我尝试在运行bash用sedreplace一个换行符 $> echo 'abc' | sed 's/b/\n/' anc 不,不是的 $> echo 'abc' | sed 's/b/\\n/' a\nc 不,那也不是。 我想要的输出是 a c 帮帮我!

如何删除与模式匹配的行和使用sed后面的行?

我有一个如下所示的文件: good text good text FLAG bad text bad text good text good text good test bad Text FLAG bad text bad text good text 我需要删除任何包含“FLAG”的行, 而且我总是需要在“FLAG”行之后立即删除这一行。 “旗”线来不规则,我不能依赖任何行号策略。 任何人都知道如何用sed做到这一点?

在某种模式之前添加文本时使用sed和忽略大小写

sed -i '/first/i This line to be added' 在这种情况下,如何在searchpattern = first的时候忽略case

sed与特殊字符

我有我想要使用sed的这一行: –> ASD = $start ( *.cpp ) <– $ start不是可变的,我想用sed来代替所有的行: ASD = $dsadad ( .cpp ) 我怎样才能使sed忽略特殊的charactars,我试图在特殊字符之前加斜杠,但也许我错了,有人可以给我一个例子吗? 这是我想要的: sed's / CPPS = \ $(shell ls | grep * .cpp)/ somereplace /'Makefile

如何在linux中设置sed命令的临时文件目录?

我有这样修改文件的bash脚本 sed -i "/hello world/d" /etc/postfix/virtual 我从web应用程序运行这个脚本。 sed命令在该目录中创build临时文件,但在其下运行的Web应用程序的用户无权在该目录中创build文件。 我不想给该文件夹的用户更多的权限。 是否有可能为sed命令指定临时文件位置? 我是在Linux新,所以很抱歉,如果我的问题太容易,但我没有find任何解决scheme。 谢谢!

为什么sed会留下许多文件?

我注意到我的目录中有很多文件,叫做“sedAbCdEf”或类似的东西。 为什么会创build这些文件? 脚本运行后,这些脚本是否有价值? 我可以将这些文件发送到另一个位置,例如/tmp/ ? 更新: 我检查了脚本,直到find一个制作文件的脚本。 这是一些示例代码: #!/bin/bash a=1 b=`wc -l < ./file1.txt` while [ $a -le $b ]; do for i in `sed -n "$a"p ./file1.txt`; do for j in `sed -n "$a"p ./file2.txt`; do sed -i "s/$i/\nZZ$jZZ\n/g" ./file3.txt c=`grep -c $j file3.txt` if [ "$c" -ge 1 ] then echo $j >> […]

使用? 与sed

我只是想得到一个文件的数量,可以或不可以gzip'd。 然而,似乎sed中的正则expression式不支持? 。 这是我的尝试: echo 'file_1.gz'|sed -n 's/.*_\(.*\)\(\.gz\)?/\1/p' 并没有返回。 那我加了一个? 到被分析的string: echo 'file_1.gz?'|sed -n 's/.*_\(.*\)\(\.gz\)?/\1/p' 并得到: 1 那么,它看起来像? 在大多数正则expression式中使用不支持在sed,对不对? 那么,我只想sed给1 file_1和file_1.gz 。 如果执行时间很关键,那么在bash脚本中如何做到这一点呢?