linux系统中如何删除文件的最后2行

linux系统中如何删除文件的最后几行

1、

复制代码
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
x v b
x e w
[root@centos79 test]# head -n -2 a.txt
a g e
d c j
i x a
e i r
复制代码

 

2、

复制代码
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
x v b
x e w
[root@centos79 test]# sed '$d' a.txt | sed '$d'
a g e
d c j
i x a
e i r
复制代码

 

3、

复制代码
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
x v b
x e w
[root@centos79 test]# lines=$(sed -n '$=' a.txt )
[root@centos79 test]# echo $lines
6
[root@centos79 test]# sed $(($lines -2+1)),${lines}d a.txt
a g e
d c j
i x a
e i r
复制代码

 

4、

复制代码
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
x v b
x e w
[root@centos79 test]# cp a.txt a.txt.bak
[root@centos79 test]# for i in `seq 2`; do sed '$d' a.txt -i; done
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
复制代码

 

5、

复制代码
[root@centos79 test]# cat a.txt
a g e
d c j
i x a
e i r
x v b
x e w
[root@centos79 test]# A=$(sed -n '$=' a.txt )
[root@centos79 test]# let B=A-2+1
[root@centos79 test]# echo $A
6
[root@centos79 test]# echo $B
5
[root@centos79 test]# sed $(($B)),$(($A))d a.txt
a g e
d c j
i x a
e i r
复制代码

 

posted @   小鲨鱼2018  阅读(997)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示