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

原创 2016年08月28日 18:50:09

删除第三行,并把结果送至文件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处理,简单。

版权声明:iamqilei@qq.com

相关文章推荐

linux 删除文件最后几行

linux 删除文件最后几行 [root@server ~]# A=$(sed -n '$=' a.txt) [root@server ~]# sed $(($A-3+1)),${A}d a.tx...

linux删除大文件的前n行

linux删除大文件的前n行在数据挖掘中我们经常会增量更新训练日志,需要删除前n行的过期数据,直接用sed命令比较慢,谷歌了一下,发现有个奇技淫巧: tail -n +3 old_file > n...

Chapter 2 | Linked Lists--返回单链表倒数第n个元素及删除中间的某个节点

2.2    Implement an algorithm to find the nth to last element of a singly linked list. 译文:实现一个算法返回单链...

Java - 删除链表中倒数第n个节点

给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。  注意事项 链表中的节点个数大于等于n 您在真实的面试中是否遇到过这个题?  Y...

小程序:删除单链表中倒数第n个结点

#include #include #include #include using namespace std; struct ListNode { int val; ...

LeetCodet题解--19. Remove Nth Node From End of List(删除链表的倒数第n个元素)

链接 LeetCode题目:https://leetcode.com/problems/remove-nth-node-from-end-of-list GitHub代码:https:/...

[C++]LeetCode 19: Remove Nth Node From End of List(删除链表中倒数第n个节点)

Problem: Given a linked list, remove the nth node from the end of list and return its head. For exam...

LeetCode Remove Nth Node From End of List 删除倒数第n个元素

这里的Note的意思应该就是可以不做特殊处理n值了。不过其实特殊处理也就一句语句。 思路: 快指针和慢指针的概念,先一个指针先走,到了离起点n个节点远的时候,慢指针走,等到快指针走到结尾,那么慢指...

lintCode-删除链表中倒数第n个节点

给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。您在真实的面试中是否遇到过这个题? Yes 样例 给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)