sed删除包含单词password的所有行。但不要保留空行

时间:2018-05-09 14:09:00

标签: regex linux sed

我的文件有行

Database Name:Mydb
DatabaseServer:DbServer
Password:Example
Username:User1

Database Name:Mydb1
DatabaseServer:DbServer1
Password:Example1
Username:User11

我使用了sed -i“s / password。 // gI”文件,但是这是一个我不想要的空行(代替密码。)。

期望的结果:

Database Name:Mydb
DatabaseServer:DbServer
Username:User1

Database Name:Mydb1
DatabaseServer:DbServer1
Username:User11

2 个答案:

答案 0 :(得分:2)

尝试一下:

sed -i '/Password:/d' file

答案 1 :(得分:2)

解决方案1:grep在这里提供帮助。

grep -v '^Password'  Input_file

如果您需要保存到相同的Input_file,那么您可以关注。

grep -v '^Password'  Input_file > temp && mv temp Input_file

解决方案第二: 使用awk

awk '!/^Password/' Input_file > temp_file && mv temp_file Input_file