shell编程——字符截取和处理命令

一、字符截取命令—cut

cut  选项  文件名

-f  列号      提取第几列

-d  “分隔符”  截取到分隔符为止

注意:cut默认是以TAB来分隔多个列的,而awk默认的列分隔符为一个或多个空格或TAB,相对cut比较方便但有局限性

 

cut提取整列,grep提取整行,一般同时使用,例如提取所有普通用户的用户名:

[root@localhost /]# cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1

user1

user2

user3

说明:所有用户都位于/bin/bash下,-v排除root,截取到:为止

 

二、符截取命令—awk命令

截取指定的列

[root@localhost /]# awk '{print $2 "\t" $4}' cut.txt

name    age

liming  18

xiaohua 20

 

利用BEGIN强制截取第一条数据,利用FS设定分隔符

[root@localhost /]# awk 'BEGIN{FS=":"}{print $1 "\t" $3}'  /etc/passwd

root    0

bin     1

daemon  2

 

三、字符处理命令

1.  排序命令sort

sort  选项  文件名

-f  忽略大小写                    -r  反向排序               -t  指定分隔符

-n  以数值排序                   -k n[,m]  按照指定字段范围排序

 

[root@localhost /]# sort -n -t ":" -k 3,3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

 

2.  统计命令wc

wc  选项  文件名

-lwm  只统计行数、单词数、字符数,也可以统计指令结果

[root@localhost /]# df -h | wc -l

7

猜你喜欢

转载自blog.csdn.net/weixin_39855998/article/details/81188622