Linux-字符处理命令

1.sort(排序)

选项:
    -t        # 指定分隔符
    -k        # 指定以第几列进行排序,后面跟数字
    -n        # 以数值大小进行排序
    -r        # 倒序排序
sort passwd               # 分隔符默认为空白字符,默认以每行首字符排序
sort -t ":" -k3 passwd    # 以":"为分隔符,以每行第3列(第二个":"后)的字符排序
sort -t ":" -nk3 passwd   # 以":"为分隔符,以每行第3列(第二个":"后)的数字大小排序
sort -t ":" -rnk3 passwd  # 以":"为分隔符,以每行第3列(第二个":"后)的数字大小倒序排列

2.uniq(不相邻的两行重复不会去除)

常用选项:
    -c           # 统计重复行的次数
cat sort.log     # 查看原文件内容 
sort sort.log    # 排列(默认顺序),可看到重复的行排列在一起
sort -t '\' -nk2 sort.log | uniq       # 以'\'为分隔符,每行第2列的数字大小为标准排序,再用uniq去重
sort sort.log | uniq -c     # 统计重复行的次数
sort sort.log | uniq -d     # 只显示重复的行
sort sort.log | uniq -u     # 只显示不重复的行
sort sort.log | uniq -c | sort -n    # 统计重复行的次数,并以次数从小到大排序

3.cut(取列,截取字段)

cat passwd | cut -d ':' -f 7 | head -5   # 以":"为分隔符,每行只取第7列显示(默认分隔符为Tab键)
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin

cat passwd | cut -c 1-10 | head -5    # 按照字符截取
root:x:0:0
bin:x:1:1:
daemon:x:2
adm:x:3:4:
lp:x:4:7:l

4.wc(统计行、单词、字符数)

[root@wqh06 ~]# wc services 
 11176  61033 670293 services
[root@wqh06 ~]# wc -l services     # 统计行数 line
11176 services
[root@wqh06 ~]# wc -w services     # 统计单词数 words
61033 services
[root@wqh06 ~]# wc -c services     # 统计字符数 characters
670293 services

posted @ 2020-03-29 14:08  拨云见日z  阅读(375)  评论(0编辑  收藏  举报