从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍Shell中怎么删除文本比较长的行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
为合肥等地区用户提供了全套网页设计制作服务,及合肥网站建设行业解决方案。主营业务为网站建设、成都做网站、合肥网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!Shell中如何删除文本比较长的行的实现方法
有的时候需要对文件执行删除删除操作,这个时候比较常用的会使用vi命令中的dd命令,比如先执行10G(跳转到第10行),然后再执行20dd(删除20行),但实际情况未必是这么常规,比如说,要删除文件中,某行长度超过200个字符的行,如果文本比较小,还好,如果是几万行,几十万行的呢? 这个想用vi就不现实了。 我然想到的办法就是:比如说,通过sed,awk,egrep命令来达到目的。 举个简单例子。
假如说如下文本文件,要将其中长度为5字符以上的给删除掉。
root@linux# cat data 1 22 333 4444 55555 666666 7777777 88888888
方法一: 使用awk命令的length()函数
root@linux# cat data | awk '{if (length($0) <=4 ) print $0}' 1 22 333 4444
方法二: 使用grep命令
root@linux# cat data | egrep -w '^.{1,4}' 1 22 333 4444
方法三: 使用sed命令
root@linux# cat data | sed -n '/^.\{5,\}/!w NewFile' root@linux# cat NewFile 1 22 333 4444
备注:
1. 使用awk,grep命令的时候,可以将处理好的文件重定向到另外一个新文件中
2. egrep -w参数,表示仅跟模式匹配的单词
3. ^. 表示以任意字符开头的行,这个和-w命令匹配使用,这个很关键,否则找不到
4. !w !表示所有模式不匹配的,w是输出,写入到新文件NewFile文件中
以上是“Shell中怎么删除文本比较长的行”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图