文本处理命令:cut,sort,wc,uniq

文本处理命令:

 cut,sort,wc,uniq

 

cut 选取一段信息中的某一段,处理的信息以“行”为单位。

语法:cut  OPTION... [FILE]...

参数:

–d ‘分割符’

–f #    按字符分割,显示第#段

#,#,#: 1,3,5 显示第1 ,3,5段信息

#-#:2-4 显示第2到第四段信息

–c #   以字符的单位取出固定字符区间     多用于排列整齐的信息处理

#-  显示第#个字符之后的值

#-# 显示选定区间的值

示例

[email protected] test]# cat test_cut
how are you? how old are you? where are youfrom? how do it?
#以?为分割符,显示第2段信息
[[email protected] test]# cut -d ‘?‘ -f 2 test_cut
 howold are you
#以?为分割符,显示第2和第4段信息
[[email protected] test]# cut -d ‘?‘ -f 2,4test_cut
 howold are you? how do it
#以?为分割符,显示第2到第4段信息
[[email protected] test]# cut -d ‘?‘ -f 2-4test_cut
 howold are you? where are you from? how do it
#显示第8个字符以后的内容
[[email protected] test]# cat test_cut
aaaa 1  how are you ?
aaaa 1  how old are you?
aaaa 1  practice make pefect
aaaa 1  so good!
[[email protected] test]# cat test_cut | cut -c 8-
  howare you ?
  howold are you?
 practice make pefect
so good!

sort排序

语法:sort [OPTION]... [FILE]...

参数:

-f:忽略大小写

-b:忽略最前面的空格符部分

-M:以月份的名字来排序,

-n:使用“数字”进行排序

-r:反向排序

-u:相当与uniq,去重复

-t:分隔符,默认使用TAB

-k:以哪个区间field进行排序 (和t搭配使用)

示例

#默认按第一个文字排序
[[email protected] test]# cat /etc/passwd | sort
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LLStack:/var/lib/avahi-autoipd:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System messagebus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#反向排序-r
[[email protected] test]# cat /etc/passwd | sort-r
vcsa:x:69:69:virtual console memoryowner:/dev:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
saslauth:x:498:76:Saslauthduser:/var/empty/saslauth:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC ServiceUser:/var/lib/nfs:/sbin/nologin
#分割后,按制定字段排序
[[email protected] test]# cat /etc/passwd | sort-t ‘:‘ -k 3 -n
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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uniq:去重复

语法:uniq [OPTION]... [INPUT [OUTPUT]]

参数:

-i:忽略大小写字母

-c:进行计数

示例:

# 去重复
[[email protected] test]# last | cut -d ‘ ‘ -f 1 |sort | uniq
 
reboot
roger
root
wtmp

#计数 重复数
[[email protected] test]# last | cut -d ‘ ‘ -f 1 |sort | uniq -c
     1
     5 reboot
    17 roger
    10 root
     1 wtmp

wc: 统计文件里的字数,行数,字符数

语法:wc [OPTION]... [FILE]...

wc [OPTION]... --files0-from=F

参数:

-l : 仅列出行

-w:仅列出多少单词数

-m : 多少字符

示例:

#同时系统中有多少用户
[[email protected] test]# cat /etc/passwd | wc -l
34

如有错误,敬请指正!
谢谢!
时间: 2024-10-11 00:34:07

文本处理命令:cut,sort,wc,uniq的相关文章

Linux CentOS 7 shell中的特殊字符及与管道相关的命令(cut,sort,wc,uniq,tee,tr,split)

一. shell特殊符号cut命令 1.特殊符号 * :任意个任意字符 ? :任意单个字符# :注释\ :转义字符 | :管道符 2.几个和管道相关的命令 (1) cut cut 把文件分段 cat /etc/passwd cut -d: -f 3  /etc/passwd    cut -d: -f 3,6,5  /etc/passwd cut -d: -f 3-6  /etc/passwd cut -c 10 /etc/passwd   取第十个字符 cut -c 5-10 /etc/pas

65.shell特殊符号与和cut,sort,wc,uniq,tee,tr,split命令

liunx的特殊符号 代表字母或者数字 多个 ? 任意一个字符"#" 注释\ 脱义字符| 管道符 1.* 代表任意个任意字符或者数字 [[email protected] /]# ls *.txt1.txt[[email protected] /]# 2.?任意一个字符 [[email protected] /]# ls ?.txt1.txt[[email protected] /]# 3.注释 [[email protected] /]# #11111[[email protecte

linux命令, cut,sort,wc,uniq,tee 说明

 cut :截取某一个字段 语法:cut -d "分隔字符" [-cf] n 这里的n是数字 -d :后面跟分隔字符,分隔字符要用双引号括起来 -c :后面接的是第几个字符 -f :后面接的是第几个区块 -d 后面跟分隔字符,这里使用冒号作为分割字符,-f 1 就是截取第一段,-f和1之间的空格可有可无. -c 后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1,n2,n3  sort :用做排序 语法:sort [-t 分隔符] [-kn1,n2] [-nru] 

cut,sort,wc,uniq,tee,tr,split,并且,和,或者

cut 把一个文件分段 cut -d:(指定分割符) -f(第几段) 3,4,5 /etc/passwd cut -c(截取第几个字符) 1-10 /etc/passwd sort 用来排序 sort -t:(指定分割符) -k3(第几段) -n(纯数字排序) /etc/passwd sort -t:(指定分割符) -k3,5(区间段用,号,不能用-) -n(纯数字排序) -r(反序排序) -u(去重复) /etc/passwd wc -l(文档有多少行数) 1.txt 2.txt wc -w(

8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

8.10 shell特殊符_cut命令 1. 特殊符号: * 通配符 ? 任意一个字符 # 注释字符(文件脚本里行首加#,表示此行不生效) \ 脱义字符 | 管道符 cut命令: -d(分隔符) -f(指定段号) -c(指定第几个字符) cut (分割) -d (分隔符) -f (指定段号) 1. 显示前两行,以:(冒号)分割,1,2,3,4段: cat /etc/passwd  内容输出 |head -2  指定前两行内容 |cut -d ":"  指定以冒号为分割符号 -f 1,2

linux基础命令:sort,uniq,cut,wc

一 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 [[email protected] ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n

文本过滤之——grep,sort,wc,uniq,tr, 精准过滤IP地址,A类地址,B类地址.... 并排序

文本过滤之IP地址精准过滤 在写之前自己整理了一点自己平时老是搞混的东西,最基础的就不写了,前面的东西不想看得一眼代过,就当借着做IP过滤顺便整理下常用的,看看后面如何精准锁定IP地址吧. 一.正则表达式(PATRERN) 括号() 方括号[] 尖括号<> 大括号{} 的使用 \[\]  匹配指定范围内的任意单个字符 [^] 用于匹配指定对象之外的任意单个字符 ^[] 用于匹配指定对象并且在行首的任意单个字符 \(\) 用作后向引用,也可以用于限定或(\|)的作用域 \1 引用第一个左括号及其

Linux学习总结(十八)几个简单的文本处理工具cut sort tr split

1 命令cut 用来截取某一个字段格式 : cut -d '分隔符' [-cf] n, n为数字,表示第几段-d:后面跟分隔符,分割符要加单引号-c:后面接的是第几个字符-f:后面接的是第几段那么意思是-c,-f选项二选一例如: head -3 /etc/passwd |cut -d ':' -f 1例如 head -3 /etc/passwd |cut -c 1-c也可以是一个区间例如 head -3 /etc/passwd |cut -c1-3-c 也可以单独指定好几个位置的字符例如 hea

文本操作3(cut,sort)

需求 检查当前系统中的各种shell程序,统计出它们各被多少用户所使用,并把统计结果按照从多到少排序打印出来 解决方案 每个用户所使用登录的shell都保存在系统文件/etc/passwd中,我们已经知道这个文件中每一行对应一个用户的信息,并且最后一个字段就是这个用户所使用的shell程序.因此可以使用cut命令提取shell程序的字段,在通过sort命令进行合并,然后使用uniq命令统计各个shell的使用次数,最后通过sort命令对数字进行排序. #cut命令从文件中的每一行数据中剪切出一部

文本处理命令--cut、sort、join

声明:下面介绍的只是命令的常用选项,如果需要详细了解命令全部细节,需要参考其他的资料. 一.cut cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. -d:自定义分隔符,默认分隔符是制表符. -f:指定显示哪个区域 示例: (my_python_env)[[email protected] ~]# echo "a b c" | cut -d ' ' -f 1 a (my_python_env)[[ema