截取命令cut命令、awk命令、sed命令

时间:2022-01-25 00:45:01

cut命令

截取以制表符tab为分隔符的第一列

cut -f 1test.txt

截取以":"为分隔符的第一列,如果比较规律的文件,可以自己设定分隔符

cut -f 1 -d ':' tset.txt

截取以“:”为分隔符的第一列和第三列

cut -f 1,3 -d ':' tset.txt

#命令都是用的英文状态的符号

awk命令

截取第二列和第四列,默认为空格,或者制表符

awk ‘{print $2 "\t" $4}’ test.txt

截取以:为分隔符的第一列和第三列

awk '{FS=":"}{print $1 "\t" $3}'  test.txt  也可以写成:awk -F ":" '{print $1 "\t" $3}'

也可以写成

awk '{FS=":"}{print $1 "\t" $3}' (这是一个比较标准的写法)

sed命令:其实是替换操作,sed修改的只是显示的内容,文件并未修改

输出第十行,-n必须要加,否则会显示所有内容,-i表示修改文件内的内容,这个谨慎操作,-e则表示执行多个动作

sed -n  '10p' regular_express.txt

删除2-4行

sed  '2,4d' regular_express.txt

在第二行上一行显示wanmei

sed '2i wanmei' regular_express.txt

在第二行下一行显示wanmei

sed '2a wanmei' regular_express.txt

替换行,将第四行全部替换为nowanmei

sed '4c nowanmei' regular_express.txt

字符串替换

sed 's/旧字符串/新字符串/g' regular_express.txt

替换第四行的旧字符串

sed '4s/旧字符串/新字符串/g' regular_express.txt

sort命令:排序的作用

选项:

-f 忽略大小写

-n以数值型进行排序,默认是字符串型排序

-r反向排序

-t指定分隔符,默认分隔符为制表符

-k[n,m]按照指定的字段范围排序,从第n字段开始,m字段结束(默认到行尾)

sort -n -t ':' -k '3,3' /etc/passwd   以':'为分隔符的第三字段开始到第三字段结束进行排序

wc命令:统计命令

wc [选项] 文件名

-l 只统计行数

- w 只统计单词书

- m 只统计字符数,包含换行符