- 8.10 shell特殊符_cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令
特殊符号
*=任意个任意字符 (表示* 等于多个或一个任意字符)
?=任意一个字符 (表示? 等于一个任意字符)
#=注释字符 (表示写命令的时候 前面加一个#,就表示这行不生效,可以写一些说明的文字)
\=脱义字符 (表示把特殊符号识别为普通符号而不会识别为特殊符号)
|=管道符 (表示把前面命令输出的结果丢给后面的命令)
cut 分割,-d 分隔符,-f 指定段号,-c 指定第几个字符 (cut的作用截取字符串)
指定分隔符 截取第一段, 或者 第一段 第二段, 或者第一段到第三段
sort 排序, -n 以数字排序,-r 反序排,-t 分隔符,-kn1/-kn1,n2 默认按照阿斯玛排序
列子:针对etc/passwd进行排序 默认排序是先特殊符号,数字 字母 排序
-n 以数字排序 。其它的特殊符号,字母 都被识别为0 会排前面,-r反排序
wc -l 统计行数,-m 统计字符数,-w 统计词 cat -A 查看文件内容的所有内容包括隐藏 $叫换行符
uniq 去重复的, -c统计行数 先排序在去重。
不排序是没法去重,如二图 要排一起才能去重,所以要先排序在去重
统计重复行数 -c
tee 和 > 类似,重定向的同时还在屏幕显示 tee -a 是追加重定向的效果
tr 替换字符,tr'a''b',大小写替换tr '[a-z]' '[A-Z]'
列子 : 把aminglinux 的 a跟l改为 大写
把小写字母改成大写字母
split 切割,-b大小(默认单位字节),-l 行数 (把一个大文件,可以切割成小文件) 比如把500G的日志文件,切割成500份1G的文件
-b 数字不带单位,默认是字节
find /etc/ -type f -name "*conf" -exec cat {} >> a.txt \: 找出etc下的conf文件 并把所有内容cat出来,并追加到a.txt里面去
对a.txt 做切割 256k大小
可以指定切割后的前缀名, 默认是x开头
- 8.13 shell特殊符号(下)
$ 变量前缀,!$组合,正则里面时表示行尾
:多条命令写到一行,用分号分割
~用户家目录,后面正则表达式时表示匹配符
&放到命令后面,则会把命令丢到后台运行
> 正确重定向 ,>>正确追加重定向, 2>错误重定向 ,2>>错误追加重定向, &> 正确错误重定向, &>> 正确错误追加重定向
【】指定字符重的一个,【0-9】,【a-zA-Z】,【abc】
||和&&,用于命令之间
|| 在shell中表示或者的意思
前面命令执行不成功,才会执行后面的命令
前面命令执行成功,就不会执行后面的命令
前面命令执行成功,才会执行后面的命令
前面命令执行不成功,就不会执行后面的命令
列子: 创建一个aminglinux目录,条件是存在就不创建。不存在就创建
[ -d aminglinux ] || mkdir aminglinux -d aminglinux 用于判断 aminglinux是不是目录,是否存在
目录存在 就不执行后面创建 aminglinux的命令了 。