sed和shell:删除文件的第n行和倒数第n行

删除第三行,并把结果送至文件newfile

sed '3d' file>newfile 

删除倒数第三行,把结果送至文件newfile

tac file|sed '3d'|tac >newfile

删除倒数第三行,bash shell版本

linenum=`cat file | wc -l`
linenum_last3=`expr $linenum - 3`
sed -n ''"$linenum_last3"'d' file

注释:sed使用变量
是通过单引号双引号。其实还有很多其它方法。

'"$variable '"

参考文献:
- 在sed中使用变量 - wendell的日志 - 网易博客
http://520hanchan.blog.163.com/blog/static/1569280420113284104669/
- sed, a stream editor
https://www.gnu.org/software/sed/manual/sed.html#Introduction
- sed中文手册_百度文库
http://wenku.baidu.com/view/b6b49702de80d4d8d15a4fe1.html
- SED的暂存空间和模式空间 - 乐在其中/Leo在其中 - ITeye技术网站
http://leowzy.iteye.com/blog/1453421

随语:
shell grep sed awk perl
- Q:学了perl,还有必要学grep sed awk吗?有人说学这么多,不统一,浪费时间学太多工具。
- 个人理解:
perl语言的实现,本来就很杂。各个工具有自己擅长的地方,而且有很强的共性,学起来不费事,一通百通,多学一门语言对熟悉的语言也有好处。总之,利远远大于弊。
- 总结各个工具特点(仅适合自己):
grep查找关键词;
awk用做列模式整理文本;
sed 替换修改文本;
perl是shell/grep/sed/awk的粘合剂。perl语言强大。一些小操作,还是用grep/sed/awk处理,简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值