linux head tail sed用法

一、head
语法
head [-n -k]…[file]..
显示前10行:
1、head -10 file.txt
2、head -n 10 file.txt
3、head -n +10 file.txt
除最后k行,显示其它所有
head -n -10 file.txt

二、tail
语法
tail [-n -k]..[file]..
默认显示后10行:tail file.txt
显示末尾k行
tail -k file.txt
tail -n k file.txt
tail -n -k file.txt
从开头第k行开始显示
tail -n +k file.txt

head和tail一起使用:
//显示前20行中后10行
head -20 file.txt | tail -10
//显示最后15行中除最后10行的前5行
tail -15 file.txt | head -n -10
tail -15 file.txt | head -5
//显示第10行
tail -n+10 file.txt|head -1
head -10 file.txt | tail -n +10

三、sed
语法
sed [-n/e/f/r/i] ‘command’ [file]
-n:显示
-e:edit编辑
-f….
command:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

举例:
显示第一行:sed -n ‘1p’ file.txt
显示最后一行:sed -n ‘&p’ fil.txt
显示第一行到第二行:sed -n ‘1,2p’ file.txt
显示第二行到最后一行:sed -n ‘2,$p’ file.txt
.

你可能感兴趣的:(shell)