Bash-Mind关键字在文件中并删除其字符串
我想给一个关键字,找到一个字符串,它是一个关键字 apepears 在文件中,并删除整个字符串。
这就是我得到的,但它不应该工作:
UPDATE
这是对我有效的:
但是,因为我有两条线 "domain.com", 有没有办法说 sed, 仅删除显示确切关键字的行 "domain.com"
这是原始内容 /etc/hosts:
这就是在团队之后结束的方式
:
我试过了
, 但它没有工作。
CONCLUSION
我想出的这个代码 /根据帮助我有美丽的人/:
注意:
我希望域始终有一个需要删除的标签。
我自动避免域名的点。
</namourphoto\.com\.br\>
这就是我得到的,但它不应该工作:
KEYWORD='domain.com'
cat /etc/hosts | grep -v "$KEYWORD" > /etc/hosts
UPDATE
这是对我有效的:
sed -i_bak -e '/domain\.com/d' /etc/hosts
但是,因为我有两条线 "domain.com", 有没有办法说 sed, 仅删除显示确切关键字的行 "domain.com"
这是原始内容 /etc/hosts:
127.0.0.1 localhost localhost.localdomain
222.111.22.222 hvn.domain.com
222.111.22.222 domain.com
这就是在团队之后结束的方式
sed -i_bak -e '/domain\.com/d' /etc/hosts
:
127.0.0.1 localhost localhost.localdomain
我试过了
sed -i_bak -e '/\<namourphoto\.com\.br\>/d' ~/Desktop/hosts
, 但它没有工作。
CONCLUSION
我想出的这个代码 /根据帮助我有美丽的人/:
D=domain.com
DOMAIN=`echo "$D" | sed 's/\./\\\\./g'`
sed -i_bak -e "/[\t]$DOMAIN/d" /etc/hosts
注意:
我希望域始终有一个需要删除的标签。
我自动避免域名的点。
</namourphoto\.com\.br\>
没有找到相关结果
已邀请:
3 个回复
三叔
赞同来自:
http://en.wikipedia.org/wiki/Sed
, sed:
到以上将删除包含的行
责备
在 test.txt. 它将创建原始备份副本。 /名称 test.txt.bak/ 并更改源文件到位。
快网
赞同来自:
.
除了关于赋予的优秀答案 sed, 你也可以使用 Perl 略微改善 regex 要解决这个问题:
注意我考虑
将被空格隔离 /标签或空间等。/, 并且在它之后,除了划痕或更多空间之外,新行将出现。 相似地
在 sed,
在 perl 设置变量
, 并且您的源文件将被更改,而副本将存储在旧名称下并添加
.
窦买办
赞同来自: