如何查看文件内容(cat 文件)但消除多行中的某个字符串

如何查看文件内容(cat 文件)但消除多行中的某个字符串

我有一个这样的文件:

ins.pro.server.pro.net
ins.pro-server2.pro.net
ins.pro-server3.pro.net
ins.pro-server4.pro.net

我想对这个文件进行 cat 但从所有行中删除特定字符串“pro.net”,因此结果如下:

ins.pro-server
ins.pro-server2
ins.pro-server3
ins.pro-server4

预先感谢您的帮助

PS:我之前使用过一些 sed 选项,但它也从“ins.pro-server”中删除了第一部分,使其变为“ins.-server”

答案1

我是根据记忆这​​样做的,但我相信以下方法应该可行:

cat $文件| sed s/\.pro\.net//

参考: Bruce Barnett 的 Sed 教程

MVP(如下)是正确的。出于某种原因,我在点上的反斜杠没有显示出来(我想我需要转义它们?)。此外,cat 是多余的,因为您可以按照 MVP 建议的方式在末尾添加文件参数。

(我会对他的回答发表评论,但我还没有 50 个代表)(我的回答中的反斜杠最初是缺失的,因为我没有对它们进行转义)

答案2

用这个:

sed "s/\.pro\.net//g" file

首先,您不需要 cat 来实现这一点,其次,请确保使用\.而不是.,因为点表示匹配任何符号。它似乎可以工作,但它也会匹配字符串xproynet,这可能不是您想要的。

相关内容