其中 ^. 为删除行首第一个字符
^.. 为删除行首头俩字符,以此类推。
sed -i 's/^.....//g' a.txt #整个文件所有行都删除前5个字符sed -i '1,5 s/^....//g' a.txt # 第一至五行删除钱4个字符。
或者用正则
sed -i 's/^.\{5\}//g' a.txt #整个文件所有行都删除前5个字符sed -i '1,50 s/^.\{4\}//g' a.txt # 第一至五十行删除钱4个字符。
linux删除大文件的前n行
在数据挖掘中我们经常会增量更新训练日志,需要删除前n行的过期数据,直接用sed命令比较慢,谷歌了一下,发现有个奇技淫巧:
tail -n +3 old_file >new_file
mv new_file old_file
这样就删除了前2行,速度要比sed命令快
root@localhost:~# cat 2a=1 b=2 c=3
d=5 ========== 1234
1234567899
root@localhost:~# sed 's/.*==//g' 2
a=1 b=2 c=3
1234
1234567899
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)