grep、sort、uniq、tr、cut、 您所在的位置:网站首页 passwd和password的区别 grep、sort、uniq、tr、cut、

grep、sort、uniq、tr、cut、

2023-06-11 14:01| 来源: 网络整理| 查看: 265

一 、grep  grep [选项]… 查找条件 目标文件

常用选项

Grep -m 2 #匹配几次后停止 Grep -m 1 /root /etc/passwd 多次匹配只取几次结果 Grep -v #取反 Grep -v root /etc/passwd Grep -i 忽略字符大小写 ((一般不用)) Grep -n root /etc/passwd 显示匹配的行号 Grep -c root /etc/passwd 只显示行号 Grep -o 仅显示匹配到的字符串 Grep -o root /etc/passwd 正则表达式的核心就是对文本的内容处理 Grep -A 3 dn /etc/passwd 匹配当前行以及往下数三行 Grep -B 3 dn /etc/passwd 包括当前行以及网上数三行 Grep -C 3 dn /etc/passwd 以匹配到的行为中轴,加上三行和下三行 Grep -e root -e bash /etc/passwd 即找root也找passwd Grep -E egrep使用扩展正则 这 两个 是一个意思

示例

-m 匹配$次后停止

[root@localhost ~]# grep -m 1 root /etc/passwd root:x:0:0:root:/root:/bin/bash

-c 统计匹配到的行数

[root@localhost ~]# grep -c root /etc/passwd 2

-e 包含 $ 的行

[root@localhost ~]# grep -e root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin

-w 匹配整个单词

[root@localhost ~]# grep -w root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin

-f 匹配两个文件中内容相同的部分

[root@localhost opt]# grep -f 123.txt 456.txt 10 30 20 40 50

-v '^$'  将a文件中的非空行写入到b文件中

[root@localhost opt]# cat 123.txt test.txt 10 20 30 40 50 10 20 30 40 50 [root@test1 opt]# grep "^b" 123.txt //过滤已b开头 [root@test1 opt]#grep '/$' 123.txt //过滤已/结尾 sort、uniq、tr命令:

sort命令 以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

语法格式: sort 选项 参数 cat file | sort 选项 常用选项: -f:忽略大小写,默认会大写字母排在前面 -b:忽略每行前面的空格 -n:按照数字进行排序 -r:反向排序 -u:等同uniq,表示相同的数据仅显示一行,去重 -t:指定字段分隔符,默认使用tab键分隔 -k:指定排序字段 -o :将排序后的结果转存至指定文件

示例

[root@localhost opt]# sort -n test.txt #按照数字大小进行排序 10 20 30 40 50 [root@localhost opt]# sort -n -r test.txt ## 倒序排序 50 40 30 20 10 [root@localhost opt]# sort -u test.txt 重复的数据只展示一次,相当于去重 10 20 30 40 50 cat /etc/passwd | sort -o test.txt ## 把整个passwd的文件,传给test.txt [root@localhost opt]# cat -n test.txt 1 abrt:x:173:173::/etc/abrt:/sbin/nologin 2 adm:x:3:4:adm:/var/adm:/sbin/nologin 3 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 chrony:x:994:990::/var/lib/chrony:/sbin/nologin 6 colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin 7 daemon:x:2:2:daemon:/sbin:/sbin/nologin 8 dbus:x:81:81:System message bus:/:/sbin/nologin 9 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 10 games:x:12:100:games:/usr/games:/sbin/nologin 11 gdm:x:42:42::/var/lib/gdm:/sbin/nologin 12 geoclue:x:993:988:User for geoclue:/var/lib/geoclue:/sbin/nologin 13 gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin 14 halt:x:7:0:halt:/sbin:/sbin/halt 15 jky:x:1004:1004::/home/jky:/bin/bash 16 libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin 17 ljj:x:1005:1005::/home/ljj:/bin/bash 18 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 19 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 20 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 21 nobody:x:99:99:Nobody:/:/sbin/nologin 22 ntp:x:38:38::/etc/ntp:/sbin/nologin 23 operator:x:11:0:operator:/root:/sbin/nologin 24 polkitd:x:999:997:User for polkitd:/:/sbin/nologin 25 postfix:x:89:89::/var/spool/postfix:/sbin/nologin 26 pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin 27 qemu:x:107:107:qemu user:/:/sbin/nologin 28 radvd:x:75:75:radvd user:/:/sbin/nologin 29 root:x:0:0:root:/root:/bin/bash 30 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 31 rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin 32 rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin 33 saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin 34 setroubleshoot:x:995:993::/var/lib/setroubleshoot:/sbin/nologin 35 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 36 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 37 sssd:x:992:987:User for sssd:/:/sbin/nologin 38 sync:x:5:0:sync:/sbin:/bin/sync 39 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin 40 tcpdump:x:72:72::/:/sbin/nologin 41 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin 42 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin 43 yh:x:1002:1002::/home/yh:/bin/bash 44 yyy:x:1001:1001::/home/yyy:/bin/bash 45 zby:x:1006:1006::/home/zby:/bin/bash 46 zhouzihao:x:1000:1000:zhouzihao:/home/zhouzihao:/bin/bash 47 zzh:x:1003:1003::/home/zzh:/bin/bash cat -n /etc/passwd | sort -n -o test.txt #按照源文件的顺序传 uniq --快捷去重

uniq命令用于报告或者忽略文件中连续的重复行,常与sort命令结合使用

格式: uniq [选项] 参数 ​ cat 文件| uniq 选项 -c 统计连续重复的行的次数,并且合并重复的行 -u 显示仅出现一次的行(包括不连续的重复行) -d 仅显示重复出现的行(必须是连续的重复行)

示例

[root@localhost opt]# uniq -u test1.txt ##有重复只要不连续也算出现一次 10 20 10 20 50 60 50 [root@localhost opt]# uniq -d test1.txt ##只显示连续重复的行 10 [root@localhost opt]# cat test1.txt 10 10 10 20 50 60 50 [root@localhost opt]# sort -n test1.txt | uniq -c 对重复的数据行计数,并且去重输出 3 10 1 20 2 50 1 60 [root@localhost opt]# sort -n test1.txt | uniq -u 只展示不重复的数据行 20 60 [root@localhost opt]# sort -n test1.txt | uniq -d ## 只展示重复的数据行 10 50 tr命令:常用于对来自标准输入的字符进行替换、压缩和删除 语法格式: tr 选项 参数 常用选项: -c:保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 -d:删除所有属于字符集1的字符 -s:将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1 -t:字符集2 替换 字符集1,不加也行 参数: 字符集1: 指定要转换或删除的原字符集。当执行转换操作时, 必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。 但执行删除操作时,不需要参数”字符集2“ 字符集2: 指定要转换成的目标字符集

 ---把"." ,替换成空格

 大写替换成小写

 保留了ab,替换了c,输出aa

 删除ab,打印c

 排序输出,压缩空行为一个

 把":"替换为换行

 快速裁剪命令——cut:

expr substr 截取方法

 

快速裁剪命令——cut: expr substr 截取方法 [root@localhost tr]#i=12345678 [root@localhost tr]#expr substr $i 1 3 123 [root@localhost tr]#expr substr $i 2 5 23456 cut截取方法 对字段进行截取和剪裁 格式: 格式一:cut [选项] 参数 格式二:cat file | cut [选项] -d 指定分隔符(默认分隔符为Tab) -f 按字段进行截取。指定第n个字段; -b 以字节为单位进行截取 -c 以字符为单位进行截取 –complement 排除所指定的字段 –output-delimiter 更改输出内容的分隔符

#已":"作为分隔符,指定第一个到第三个字段进行输出

 #指定已":"作为分隔符,但是删除了第二个字段进行输出

将分隔符转换为@,进行输出

 文件拆分——split split命令用于在Linux下将大文件拆分为若干小文件。 格式:split 选项 参数 原始文件 拆分后文件名前缀 -l 指定行数 -b 指定文件的大小

指定20行为一个文件将这个文件拆分

 文件合并——paste 格式: paste [选项] 文件1 文件2 -d 用于指定文件的分隔符(默认情况下为制表符"\n") -s 将列和行的内容进行互相交换 paste a b和cat a b 之间的区别 (左右合并)

统计当前主机的连接状态

 统计当前连接主机数

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有