gpt4 book ai didi

linux - 我在使用 Sed 时遇到问题

转载 作者:太空狗 更新时间:2023-10-29 12:31:19 25 4
gpt4 key购买 nike

我正在尝试使用 sed 命令来替换这一行:

charmm.c36a4.20140107.newcali4.fixhcali.grange.b

与:

charmm.20140911.c36a4.3rd.ghost2.model3rd 

当我使用时:

sed -i '/s/firstline/secondline/g' 

这是行不通的。我认为经期搞砸了。我该如何解决这个问题?

最佳答案

sed 使用正则表达式,所以 . 匹配任何字符。如果只想匹配 . 字符本身,请告诉 sed 查找 \.

所以把第一行改成第二行:

sed -e 's/charmm\.c36a4.20140107\.newcali4\.fixhcali\.grange\.b/charmm.20140911.c36a4.3rd.ghost2.model3rd/g' < filetochange >newfile

在这里,我添加了“g”以便它在全局范围内执行,即,如果同一行上有多个实例,所有实例都将被更改。如果您删除“g”,它只会更改每行中第一次出现的位置。

它从 filetochange 读取并写入 newfile

如果你这样做:

sed -i -e 's/charmm\.c36a4.20140107\.newcali4\.fixhcali\.grange\.b/charmm.20140911.c36a4.3rd.ghost2.model3rd/g' filetochange 

它会直接在“filetochange”中进行更改...但是请小心,写得不好的 sed -i 可能会弄乱文件并使其无法使用

关于linux - 我在使用 Sed 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com