8.10 shell 特殊符号_cut命令

特殊符号
	*   任意个任意字符
	?  任意一个字符
	#   注释字符
	\   脱义字符
	|   管道符


几个和管道有关的命令

	cut    分割,-d 分隔符  -f 指定段号  -c 指定第几个字符
	sort   排序, -n 以数字排序  -r 反序  -t 分隔符  -kn1/-kn1,n2
	wc -l  统计行数  -m 统计字符数  -w 统计单词数
	uniq   去重, -c 统计行数
	tee    和 > 类似,重定向的同时还在屏幕显示
	tr     替换字符,tr 'a' 'b' ,大小写替换 tr '[a-z]' '[A-Z]'
	split  切割,-b 大小(默认单位字节), -l 行数


		[root@aming-01 ~]# cat /etc/passwd |head -2|cut -d ":" -f 1,7
		root:/bin/bash
		bin:/sbin/nologin

8.11 sort_wc_uniq 命令

sort   排序, -n 以数字排序  -r 反序  -t 分隔符  -kn1/-kn1,n2
wc -l  统计行数  -m 统计字符数  -w 统计单词数
uniq   去重, -c 统计行数


	[root@aming-01 ~]# head -5 /etc/passwd|sort
	adm:x:3:4:adm:/var/adm:/sbin/nologin
	bin:x:1:1:bin:/bin:/sbin/nologin
	daemon:x:2:2:daemon:/sbin:/sbin/nologin
	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
	root:x:0:0:root:/root:/bin/bash

	[root@aming-01 ~]# head -5 /etc/passwd|sort -r
	root:x:0:0:root:/root:/bin/bash
	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
	daemon:x:2:2:daemon:/sbin:/sbin/nologin
	bin:x:1:1:bin:/bin:/sbin/nologin
	adm:x:3:4:adm:/var/adm:/sbin/nologin

	[root@aming-01 ~]# head -5 /etc/passwd|sort -t: -k3
	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

uniq  先排序再去重

8.12 tee_tr_split 命令

tee    和 > 类似,重定向的同时还在屏幕显示
tr     替换字符,tr 'a' 'b' ,大小写替换 tr '[a-z]' '[A-Z]'
split  切割,-b 大小(默认单位字节), -l 行数


	[root@aming-01 ~]# sort 1.txt|uniq -c|tee a.txt
	      1 111
	      1 1122
	      1 222,111
	      1 AAA11
	      1 ddc1
	[root@aming-01 ~]# cat a.txt
	      1 111
	      1 1122
	      1 222,111
	      1 AAA11
	      1 ddc1


	[root@aming-01 ~]# echo "aming"|tr "[a-z]" "[A-Z]"
	AMING


	[root@aming-01 ~]# find /etc/ -type f -name "*conf" -exec cat {} > a.txt \;
	[root@aming-01 ~]# split -b 1000 a.txt

	[root@aming-01 ~]# split -b 100k a.txt bac
	[root@aming-01 ~]# ls
	1.txt  anaconda-ks.cfg  a.txt  bacaa  bacab  bacac

8.13 特殊符号

$   变量前缀,!$ 组合,正则里面表示行尾
;  多条命令写在一行,用分号分割
~   用户家目录,后面正则表达式表示匹配符
&   放到命令后面,会把命令丢到后台
>  >>  2>  2>>  &>
[]  指定字符中的一个,[0-9],[a-zA-Z],[abc]
||  &&  , 用于命令之间


	[root@aming-01 ~]# ls a.txt;wc -l a.txt
	a.txt
	6385 a.txt


	[root@aming-01 ~]# ls a.txt || wc -l a.txt
	a.txt

	[root@aming-01 ~]# ls a.txt && wc -l a.txt
	a.txt
	6385 a.txt
	[root@aming-01 ~]# 

	[root@aming-01 ~]# ls aa.txt && wc -l a.txt
	ls: 无法访问aa.txt: 没有那个文件或目录