Questions tagged «sed»

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

4
如何防止sed -i破坏符号链接?
为什么sed -i在symlink 上执行会破坏该链接并将其替换为目标文件?如何避免这种情况? 例如。 $ ls -l pet* -rw-rw-r-- 1 madneon madneon 4 mar 23 16:46 pet lrwxrwxrwx 1 madneon madneon 6 mar 23 16:48 pet_link -> pet $ sed -i 's/cat/dog/' pet_link $ ls -l pet* -rw-rw-r-- 1 madneon madneon 4 mar 23 16:48 pet -rw-rw-r-- 1 madneon madneon …
21 sed  symlink 

3
Sed-在匹配的行中替换字符吗?
在包含这样的行的文件中: # lorem ipsum blah variable 我想#在包含特定字符串的同一行中删除(注释)字符。是否sed适合呢? 我正在努力使这个有条件的工作。我这样做有一种“笨拙”的方式。我可以用awk或找到匹配的行号,sed然后在单独的sed命令中使用该行号,但是我相信可以用更好的方法来完成。
21 sed 


1
如何确保插入到“ sed”替换中的字符串转义所有元字符
我有一个脚本,该脚本读取文本流并生成sed命令文件,该文件随后与一起运行sed -f。生成的sed命令类似于: s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g 假设生成sed命令的脚本类似于: while read cid fileid do cidpat="$(echo $cid | sed -e s/\\./\\\\./g)" echo 's/'"$cidpat"'/https:\/\/mysite.com\/files\/'"$fileid"'/g' >> sedscr done 如何改善脚本以确保cid字符串中的所有正则表达式元字符均已转义并正确插值?
21 sed  quoting 


1
为什么“#!/ bin / sh -a”中的-a影响sed而“ set -a”却不影响?
如果我运行以下.sh文件: #!/bin/sh -a echo "a" | sed -e 's/[\d001-\d008]//g' 结果是一个错误: sed:-e表达式#1,字符18:无效的范围结尾 但是,如果我运行以下.sh文件: #!/bin/sh set -a echo "a" | sed -e 's/[\d001-\d008]//g' 它运行没有错误。第二个代码不是应该等同于第一个吗?为什么在第一个错误?

1
命令sed'1!G; h; $!d'如何反转文件的内容?
我的问题与该答案中针对反向grepping的sed特定解决方案有关。我无法解读的/ 解决方案如下:sedgrep sed '1!G;h;$!d' file 有人可以解密此命令吗? 我从VI(M)的知识中知道G代表文件的最后一行,而sed bang(!)和后跟一个地址的工作方式有点像grep -v这样,也就是说它将不匹配该行。但总体而言,上面的内联sed脚本超出了我的范围。
20 sed 

1
用另一个文件的内容替换文件中的模式
我有一个文本文件(devel.xml)。 我在其中添加了单词REPLACETHIS,以便将该字符串替换为其他文件(temp.txt)中的内容。 我最接近的是: sed -i -e "/REPLACETHIS/r temp.TXT" -e "s///" devel.txt; 这会将内容插入字符串后,然后再删除字符串。 这是最好的方法吗?

1
用sed替换文本并保留部分原始文本
我正在尝试转换 <id>1</id> <Name>ENTERPRISE RESOURCE PLANNING</Name> 至: <column name="id">1</column> <column name="Name">ENTERPRISE RESOURCE PLANNING</column> 我假设最好的工具是sed,但是我不知道如何将部分原始文本保留在替换部分中。 如果我做: $ sed -i 's/<.*>.*<.*>/<column name="\\1">\\2<\/column>/g' filename.xml 输出为: <column name="\1">\2</column> <column name="\1">\2</column> 或从内部执行类似操作vi,它输出: <column name=""></column> <column name=""></column> 我如何才能做到\1并被\2替换回其原始值?

4
在第一个空格后使用sed / awk删除任何内容
aaaaaaaa 09 bbbbbbbb 90 ccccccccccccccc 89 ddddd 09 使用sed / awk / replace,在上面的文本中,我想删除每行第一个空格之后的所有内容。例如,输出将是: aaaaaaaa bbbbbbbb ccccccccccccccc ddddd 任何帮助将不胜感激。
20 sed  grep  awk 

1
使用带有&符号的sed(&)
我使用sed在我拥有的SAS文件中查找和替换模式,而不是单独更改它们。问题是我正在尝试替换宏变量,并且在使用与号时无法正确处理。 Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas 每当我运行此命令时,它似乎都会附加并使用原始文本进行各种时髦的操作。 问题:如何用sed命令替换包含&符号的文本?
19 sed  quoting  replace 

5
sed零位填充到2位数字
输入: 201103 1 /mnt/hdd/PUB/SOMETHING 201102 7 /mnt/hdd/PUB/SOMETH ING 201103 11 /mnt/hdd/PUB/SO METHING 201104 3 /mnt/hdd/PUB/SOMET HING 201106 1 /mnt/hdd/PUB/SOMETHI NG 所需的输出: 201103 01 /mnt/hdd/PUB/SOMETHING 201102 07 /mnt/hdd/PUB/SOMETH ING 201103 11 /mnt/hdd/PUB/SO METHING 201104 03 /mnt/hdd/PUB/SOMET HING 201106 01 /mnt/hdd/PUB/SOMETHI NG 我如何添加一个0如果只有一个单一的数字,例如,1在“天”的一部分?我需要以下日期格式:YYYYMM DD。
19 linux  sed  openwrt 

5
如何对具有major.minor.patch级别的列表进行排序,有时还可以正确地对rc进行排序?
我必须使用shell脚本对以下列表进行排序,并使最新版本显示在底部或顶部。我将如何仅使用Shell工具来做到这一点? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

3
使用awk,sed提取具有特定图案的部分线
我对awk / sed运算符有疑问。我有一个大文件,重复了以下几行 Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 我想在每种情况下将总和后的值提取到单独的文件中。可以一次这样做吗?

7
打印奇数行,打印偶数行
我想从文件中打印奇数行和偶数行。 我发现了这个利用echo的shell脚本。 #!/bin/bash # Write a shell script that, given a file name as the argument will write # the even numbered line to a file with name evenfile and odd numbered lines # in a text file called oddfile. # ------------------------------------------------------------------------- # Copyright (c) 2001 nixCraft project <http://cyberciti.biz/fb/> # …

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.