linux的cut、sort_wc_uniq、tee_tr_split命令及一些特殊符号介绍

shell特殊符号cut命令:

1、* 任意个任意字符(这是一个通配符)

2、? 任意一个字符

3、 # 注释字符

4、 \ 脱义字符

5、 | 管道符

几个和管道有关的命令:

1、cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符,

示例:

[[email protected] ~]# cat /etc/passwd |head
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
operator:x:11:0:operator:/root:/sbin/nologin
[[email protected] ~]# cat /etc/passwd |head -2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[[email protected] ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1
root
bin
[[email protected] ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2
root:x
bin:x
[[email protected] ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1-3
root:x:0
bin:x:1
[[email protected] ~]# cat /etc/passwd |head -2 |cut -c 4
t
:

sort_wc_uniq命令:

2、sort 排序, -n 以数字排序 -r 反序  -t 分隔符 -kn1/-kn1,n2

示例如下:

[email protected] ~]# sort /etc/passwd   (按照ID号顺序排序,数字、字母等)
adm:x:3:4:adm:/var/adm:/sbin/nologin
aminglinux:x:1002:1002::/home/aminglinux:/bin/bash
aming:x:1000:1005::/home/aming:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

3、 wc -l 统计行数 -m 统计字符数 -w 统计词

示例:

[[email protected] ~]# wc -l 1.txt
22 1.txt
[[email protected] ~]# wc -m 1.txt
450 1.txt
[[email protected] ~]# wc -m 2.txt
0 2.txt
[[email protected] ~]# wc -w 2.txt
0 2.txt

4、 uniq 去重, -c统计行数

单独使用uniq命令去重,只有在列表相同的上下序列才去重,示例:

[[email protected] ~]# vim 2.txt
[[email protected] ~]# cat 2.txt
123
abc 111,222
123
abc
1
2
1
[[email protected] ~]# uniq 2.txt   //没有序列相同的,无法去重。
123
abc 111,222
123
abc
1
2
1
[[email protected] ~]# vim 2.txt   //更改数字序列
[[email protected] ~]# cat 2.txt
123
abc 111,222
123
abc
1
1
2
[[email protected] ~]# uniq 2.txt      //去重相同的数字
123
abc 111,222
123
abc
1
2

结合sort命令使用先排序,然后去重,计算重复次数,示例:

[[email protected] ~]# sort 2.txt         //自动排序2.txt里面文字列表
1
1
123
123
2
abc
abc 111,222
[[email protected] ~]# sort 2.txt |uniq     //去重
1
123
2
abc
abc 111,222
[[email protected] ~]# sort 2.txt |uniq -c  //计算重复次数
2 1
2 123
1 2
1 abc
1 abc 111,222

tee_tr_split命令:

5、 tee 和>类似,重定向的同时还在屏幕显示

示例:

[[email protected] ~]# cat a.txt
[[email protected] ~]# sort 2.txt |uniq -c |tee a.txt
2 1
2 123
1 2
1 abc
1 abc 111,222
[[email protected] ~]# cat a.txt
2 1
2 123
1 2
1 abc
1 abc 111,222
[[email protected] ~]# sort 2.txt |uniq -c |tee -a a.txt    //tee加-a是追加
2 1
2 123
1 2
1 abc
1 abc 111,222
[[email protected] ~]# cat a.txt
2 1
2 123
1 2
1 abc
1 abc 111,222
2 1
2 123
1 2
1 abc
1 abc 111,222

6、tr 替换字符,tr ‘a‘ ‘b‘,大小写替换tr ‘[a-z]‘ ‘[A-Z]‘

示例:

[[email protected] ~]# echo "aminglinux" |tr ‘[al]‘ ‘[AL]‘
AmingLinux
[[email protected] ~]# echo "aminglinux" |tr ‘[a-z]‘ ‘[A-Z]‘
AMINGLINUX
[[email protected] ~]# echo "aminglinux" |tr ‘[a-z]‘ ‘1‘
1111111111

7、 split 切割,-b大小(默认单位字节),-l行数  (切割日志,两种用法)

使用命令:

split -b 1000m bigfile
split -l   1000    bigfile

示例:

[[email protected] test]# ls
a.txt
[[email protected] test]# split -b 100k a.txt
[[email protected] test]# ls
a.txt  xaa  xab  xac
[[email protected] test]# du -sh *
256K	a.txt
100K	xaa
100K	xab
52K	xac
[[email protected] test]# rm -f x*
[[email protected] test]# split -b 100k a.txt abc
[[email protected] test]# ls
abcaa  abcab  abcac  a.txt
[[email protected] test]# split -b 100k a.txt abc.
[[email protected] test]# ls
abcaa  abc.aa  abcab  abc.ab  abcac  abc.ac  a.txt
[[email protected] test]# rm -f abc*
[[email protected] test]# split -l 1000 a.txt
[[email protected] test]# ls -l
总用量 516
-rw-r--r--. 1 root root 257421 11月 17 20:00 a.txt
-rw-r--r--. 1 root root  42094 11月 17 20:04 xaa
-rw-r--r--. 1 root root  44424 11月 17 20:04 xab
-rw-r--r--. 1 root root  40244 11月 17 20:04 xac
-rw-r--r--. 1 root root  40202 11月 17 20:04 xad
-rw-r--r--. 1 root root  34871 11月 17 20:04 xae
-rw-r--r--. 1 root root  39403 11月 17 20:04 xaf
-rw-r--r--. 1 root root  16183 11月 17 20:04 xag
[[email protected] test]# wc -l *
6495 a.txt
1000 xaa
1000 xab
1000 xac
1000 xad
1000 xae
1000 xaf
495 xag
12990 总用量

shell特殊符号下:

1、$ 变量前缀,!$组合,正则里面表示行尾

2、;多条命令写到一行,用分号分割

[[email protected] ~]# ls 1.txt ; wc -l 2.txt
1.txt
7 2.txt

3、 ~ 用户家目录,后面正则表达式表示匹配符

4、& 放到命令后面,会把命令丢到后台

5、> >> 2> 2>> &>

>    :正确重定向,会把之前的文件覆盖掉。

>>  :追加重定向,追加内容正确输出。

2>  :错误重定向

2>>:追加错误重定向

&>  :表示正确与错误输出重定向

6、 [ ] 指定字符中的一个,如[0-9],[a-zA-Z],[abc]

7、|| 和 && ,用于命令之间。

|| :表示或者的意思,当同时使用执行两条命令时,如果第一条命令执行不成功,那就执行第二条命令,如果第一条命令执行成功,那就不执行第二条命令,示例如下:

[[email protected] ~]# ls 1a.txt || wc -l 2.txt
ls: 无法访问1a.txt: 没有那个文件或目录
7 2.txt
[[email protected] ~]# ls 1.txt || wc -l 2.txt
1.txt

&&:当同时使用执行两条命令时,如果前面命令执行成功才执行后面的命令,否则不执行。

示例如下:

[[email protected] ~]# ls 1.txt && wc -l 2.txt
1.txt
7 2.txt
[[email protected] ~]# ls 1a.txt && wc -l 2.txt
ls: 无法访问1a.txt: 没有那个文件或目录

实验:

[[email protected] ~]# ls
111  1_heard.txt.bak  1.txt      234    3.txt  aa.txt  anaconda-ks.cfg  test
123  1_sorft.txt.bak  1.txt.bak  2.txt  456    aming2  bb.txt           安诺云智平台介绍(PPT模板).pptx
[[email protected] ~]# [ -d aminglinux ] || mkdir aminglinux
[[email protected] ~]# ls
111  1_heard.txt.bak  1.txt      234    3.txt  aa.txt  aminglinux       bb.txt  安诺云智平台介绍(PPT模板).pptx
123  1_sorft.txt.bak  1.txt.bak  2.txt  456    aming2  anaconda-ks.cfg  test
[[email protected] ~]# [ -d aminglinux ] && mkdir aminglinux
mkdir: 无法创建目录"aminglinux": 文件已存在
[[email protected] ~]# [ -d aminglinux ] || mkdir aminglinux

解释:

[ -d aminglinux ]:判断一个目录是否存在。

时间: 2024-10-11 01:46:15

linux的cut、sort_wc_uniq、tee_tr_split命令及一些特殊符号介绍的相关文章

shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号下

shell特殊符号 * 任意个任意字符 [[email protected] ~]# ls *.txt 1.txt  23.txt  2.txt  david.txt ? 任意一个字符 [[email protected] ~]# ls ?.txt 1.txt  2.txt # 注释字符 [[email protected] ~]# #echo 'ok' \ 脱义字符 [[email protected] ~]# echo -e '123\n456\n789\t0000' 123 456 789

二十五、shell特殊符号cut命令、sort_wc_uniq命令、 tee_tr_split命令、

二十五.shell特殊符号cut命令.sort_wc_uniq命令. tee_tr_split命令. shell特殊符号下 一.shell特殊符号cut命令 特殊符号 *:通配. ?:任意一个字符. #:注释字符,加在命令前面命令就不会生效. \:脱义字符.会将后面的特殊符号(如*)还原为普通字符.示例: # ls -d 123\* ls: 无法访问123*: 没有那个文件或目录 cut命令:截取某一个字段.分隔. 格式:# cut -d '分隔字符' [-cf] n,n为数字. 可用选项: -

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 # 8.10 shell 特殊符_cut命令 --- - * 任意个任意字符 - ?任意一个字符 -  井号#注释字符  写命令的时候前面加一个#,那么这条命令就不生效,包括shell脚本里面也是,前面加个#表示这一行不生效,可以加一些注释说明的文字 ``` <[email protected] ~># #ls a.txt <[email

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号

五周第五次课(1月12日)8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号相关测验题目:http://ask.apelearn.com/question/5437 扩展1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112 2. Linux特殊符号大全http://ask.apelearn.com/question/7720 3. so

shell特殊符号 cut命令 、sort_wc_uniq命令 tee_tr_split命令

一.shell特殊符_cut命令脱义字符:[[email protected] ~]# c=\$a\$b //和 #c='$a$b' 效果一样[[email protected] ~]# echo $c$a$b 管道符cut 分割[[email protected] ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1 //取第一段rootbin[[email protected] ~]# cat /etc/passwd |head -2 |cut

shell特殊符_cut命令 sort_wc_uniq命令tee_tr_split命令 shell特

8.10 shell特殊符_cut命令 *任意个任意字符? 任意一个字符#注释符号\脱义符号|管道符"$" 该符号与"!"合用"!$"表示上一条命令中的最后一个变量":" 分隔符,在一行中运行两个及两个以上的命令时使用 "~" 用户的家目录(root用户"/root",普通用户"/home/username")"&" 如果想把一条命令直接放

shell特殊符 _cut命令 sort_wc_uniq命令 tee_tr_split命令

shell特殊符cut命令 任意个任意字符? 任意一个字符#注释字符\脱义字符·|管道符cut截取字符串-d指定分隔符-f指定截取第几段通过查看我们可以看到,/etc/passwd被分割成了7段·如下图是使用":"为分隔符截取第一段·截取第一.二段(用英文逗号)·截取一至三段(用横杠)·-c指定第几个字符(使用-c就不要用-d-f了)····· sort_wc_uniq命令 sort排序使用sort排序后 它会按照首字母顺序排序·当一个文件中有数字.字母.特殊符号的时候sort默认的排

Linux之cut命令

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数-b :以字节为单位进

Linux 之Cut命令详解

摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准