猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
删除文本文件中包含特定字符串的行
删除文本文件中包含特定字符串的行
如何使用sed删除文本文件中包含特定字符串的所有行?
慕尼黑的夜晚无繁华
浏览 3953
回答 3
3回答
开心每一天1111
若要删除该行并将输出打印为标准输出,请执行以下操作:sed '/pattern to match/d' ./infile若要直接修改文件,请执行以下操作:sed -i '/pattern to match/d' ./infile要直接修改文件(并创建备份):sed -i.bak '/pattern to match/d' ./infile对于MacOSX和FreeBSD用户:sed -i '' '/pattern/d' ./infile
0
0
0
眼眸繁星
除了删除具有特定字符串的行之外,还有许多其他方法可以删除行。sed:AWKawk '!/pattern/' file > temp && mv temp fileRuby(1.9+)ruby -i.bak -ne 'print if not /test/' filePerlperl -ni.bak -e "print unless /pattern/" fileshell(bash 3.2及更高版本)while read -r linedo [[ ! $line =~ pattern ]] && echo "$line"done <file > o mv o fileGNUgrepgrep -v "pattern" file > temp && mv temp file当然还有sed(打印反向比实际删除快):sed -n '/pattern/!p' file
0
0
0
繁花如伊
您可以使用sed替换文件中的行。但是,它似乎比将grep用于逆文件,然后将第二个文件移动到原始文件中要慢得多。G.sed -i '/pattern/d' filename或grep -v "pattern" filename > filename2; mv filename2 filename无论如何,第一个命令在我的机器上要花费3倍的时间。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关问题
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
相关分类
Linux
linux
2 回答
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续