Questions tagged «sed»

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

4
在多个文件中添加一行文本
因此,我在目录中有一堆文件,并且需要在其中每个文件中插入一行文本。它们实质上具有以下格式: <VirtualHost *:80> ServerAdmin gabe@localhost DocumentRoot /var/www/test1 ServerName test1.local ServerAlias test1 <Directory "/var/www/test1"> Options All AllowOverride All </Directory> </VirtualHost> 我想在结束之前插入一行 </ VirtualHost>标签。我的第一个假设是,我应该能够使用sed进行此操作,可能是匹配并替换了该标签。我现在将开始尝试此操作,但是如果任何人都可以使用现有的方法来执行此操作,我将很乐意听到。


5
删除bash中的前导字符串
我有一个类似的字符串rev00000010,我只想要最后一个数字,在这种情况下为10。 我已经试过了: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' 两者均不返回任何内容,尽管regex似乎是正确的(尝试使用regexr)

3
用顺序索引替换字符串
有人可以建议一种优雅的方式来实现这一目标吗? 输入: test instant () test instant () ... test instant () //total 1000 lines 输出应为: test instant1 () test instant2 () test instant1000() 空行在我的输入文件中,并且同一目录下有很多文件需要立即处理。 我试图用它替换同一个目录中的许多文件,但没有用。 for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done 错误: Substitution replacement not terminated at -e line 1. Substitution replacement …

2
大型单行文件上的基本sed命令:无法重新分配内存
我有一个250 MB的文本文件,全部在一行中。 在此文件中,我想a用b字符替换字符: sed -e "s/a/b/g" < one-line-250-mb.txt 它失败并显示: sed: couldn't re-allocate memory 在我看来,此类任务可以内联执行而无需分配太多内存。 是否有更好的工作工具或更好的使用方法sed? GNU sed版本4.2.1 Ubuntu 12.04.2 LTS 1 GB RAM

2
如何用sed替换文件中的引号?
我有一个包含多行xml的文件。我想替换文件的某些部分。文件的某些部分包含引号("),我想替换它们。我一直在尝试使用来转义引号\,但是基于文件的结果,我认为这不起作用。 这是我的sed命令之一的示例: sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp 这是您在sed命令中转义引号的方式还是我做错了什么?
10 sed 

2
在docker中查找和sed字符串时出现错误`设备或资源繁忙'
此问题仅在docker容器中发生。 仅find是罚款: find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json" find 与sed find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json"|xargs sed -i "s/10.142.55.199/host02/g" 给出一个错误: /xxx/config/sed8Ey5tD: Device or resource busy 我不明白是什么sed8Ey5tD,ls看不到。我认为这是由docker造成的,但无法解决。 如何取得sed成功? 好吧,我发现这个文件是由搬运工volumed,有 volumes: /xxx/config.json : /xxx/config/config.json 在docker-compose.yml。之后docker-compose down,可以编辑文件。但是,如何在没有文件的情况下编辑文件docker-compose down?
10 sed  find  docker  xargs 

2
为什么“ [az] *”与非字母字符串匹配?
我有alphanum两行内容: 123 abc this is a line 我对为什么在运行时sed 's/[a-z]*/SUB/' alphanum得到以下输出感到困惑: SUB123 abc SUB is a line 我期待: 123 SUB SUB is a line 我找到了一个修复程序(sed 's/[a-z][a-z]*/SUB/'改用),但是我不明白为什么它起作用,而我的却不起作用。 你能帮我吗?

3
如何从ifconfig命令捕获第一个IP地址?
如何捕获来自ifconfig命令的第一个IP地址? ifconfig -a enw178032: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 100.14.22.12 netmask 255.255.0.0 broadcast 100.14.255.255 inet6 fe80::250:56ff:fe9c:158a prefixlen 64 scopeid 0x20<link> ether 00:10:56:9c:65:8a txqueuelen 1000 (Ethernet) RX packets 26846250 bytes 12068811576 (11.2 GiB) RX errors 0 dropped 58671 overruns 0 frame 0 TX packets 3368855 bytes 1139160934 (1.0 GiB) TX errors 0 …
9 linux  bash  awk  sed  ifconfig 


5
awk sed if语句
如果有“。”,我尝试将0开头。在该行的第二个字符处。我无法将两者结合起来。 awk '{ print substr( $0, 2, 1 ) }' file.txt 显示第二个字符 sed -ie "s/.\{0\}/0/" file.txt 在开头添加零。 应该有一个“如果第二个字符是一个点”。 样本文件: 1.02.2017 23:40:00 10.02.2017 23:40:00 最后: 01.02.2017 23:40:00 10.02.2017 23:40:00

1
如何获取第n列包含第m列的行
我有一个包含域和网络邮件的CSV文件,如下所示: site1.com,mail.site1.com site2.com,testmail.com site3.com,mx.site3.com site4.com,smtp.site4.com site5.com,foomail.com site6.com,barmail.com site7.com,webmail.site7.com site8.com,01mx.site8.com site9.com,foobarmail.com site10.com,mx-smtp222.site10.com 我想获取其中webmails列包含同一行的domains列的行。对于上面的示例,输出应为: site1.com,mail.site1.com site3.com,mx.site3.com site4.com,smtp.site4.com site7.com,webmail.site7.com site8.com,01mx.site8.com site10.com,mx-smtp222.site10.com

5
使用sed / awk / grep命令编辑txt文件中的值
五年来,我使用气象站La Crosse WS2350。气象站提供的数据在RPI上使用open2300处理。这很好。但是,温度数据是错误的(传感器)。温度数据低1°C。 由于无法校准传感器,因此我想更改从气象站提取的文件中的温度值。 此文本文件(current.txt)包含: Date 2016-Dec-03 Time 10:30:29 Ti 11.9 Timin 11.6 Timax 27.7 TTin 10:34 DTimin 2016-01-19 TTimax 00:44 DTimax 2016-08-28 To -2.4 Tomin -4.8 Tomax 37.4 TTomin 06:46 DTomin 2016-02-18 TTomax 16:13 DTomax 2016-07-19 ... 我想为值“ To”,“ Tomin”,“ Tomax”添加+1,并用正确的值覆盖文本文件。 看完sed和awk命令后,我意识到自己已经过时了。谁能指导我?谢谢 编辑: 我忘记了另一个文件:ws2308.log每15分钟将新行添加到文件ws2308.log中: ... 20161203150600 2016-Dec-03 15:06:00 11.8 …


2
Grep从固定文本开始,直到第一个空白行
我有一个prova.txt像这样的文件: Start to grab from here: 1 fix1 fix2 fix3 fix4 random1 random2 random3 random4 extra1 extra2 bla Start to grab from here: 2 fix1 fix2 fix3 fix4 random1546 random2561 extra2 bla bla Start to grab from here: 1 fix1 fix2 fix3 fix4 random1 random22131 我需要从“开始抢在这里”到第一个空白行。输出应如下所示: Start to grab from …

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.