笔记内容:
8.10 shell特殊符号cut命令
8.11 sort_wc_uniq命令
8.12 tee_tr_split命令
8.13 shell特殊符号下
相关测验题目:http://ask.apelearn.com/question/5437
扩展
- source exec 区别 http://alsww.blog.51cto.com/2001924/1113112
- Linux特殊符号大全http://ask.apelearn.com/question/7720
- sort并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975
一、cut命令
cut 分割
-d 分隔符
-f 指定段号
例子:取passwd文件头2行中以:为分割符,指定显示3段
# cat /etc/passwd | head -2 | cut -d ":" -f 1-3
image.png
-c 指定第几个字符
例子:取passwd文件头2行的第4个字符
image.png
二、sort_wc_uniq命令
1.sort 排序,默认排序为特殊字符>数字>字母(a>z)
image.png-n 数字排序
例子: #sort -n 1.txt(字母、特殊符号默认为0,排在数字前面)
image.png
-r 反序
例子: # sort -nr 1.txt(按照数字倒序排列)
image.png
-t 分隔符
-kn1/-kn1,n2
2.wc 统计
-l 统计行数
#wc -l 1.txt //行数
-m 统计字符数
#cat -A 2.txt //显示文件所有内容
#wc -m 2.txt //字符数
image.png
-w 统计词
#wc -w 1.txt //单词,以空格符为一个单词
image.png
3.uniq去重 –-一般与sort合用
-c 统计重复次数
# sort 2.txt | uniq –c //对2.txt文件排序再统计重复次数 ,截图表示123重复出现3次,456重复1次
image.png
三、 tee_tr_split命令
1.tee 默认等价于> ,重定向且在屏幕显示
# sort 2.txt | uniq -c | tee 4.txt //对2.txt文件排序再统计重复次数覆盖写入4.txt文件,且展示在屏幕上
#>4.txt //清空4.txt文件内容
image.png
# sort 2.txt | uniq -c | tee -a 4.txt //对2.txt文件排序再统计重复次数追加写入4.txt文件,且展示在屏幕上
image.png
2.tr替换字符
# tr 'a' 'b' //a替换成b
# echo "zhaodonghui" | tr '[zdh]' '[ZDH]' //zdh替换ZDH
image.png
# tr '[a-z]' '[A-Z]' //大小写替换
# echo "zhaodonghui" | tr '[a-z]' '[A-Z]' //全部转为大写
image.png
3.split切割
-b 大小,默认单位字节
-l 行数
# split -b 100M bigfile //将bigfile文件切割为大小100M的多份文件
# split -b 1000 bigfile //将bigfile文件切割为1000行的多份文件
# split -b 100k bigfile 123 //将bigfile文件切割为123开头大小为100k的多份文件
image.png
四、shell特殊符号
4.1.特殊符号(一)
*任意个任意字符
?任意一个字符
#注释
\脱义字符
|管道符
1.1实验
实现c显示结果=ab,方法为:
1.1.1 c='ab'
1.1.2脱义#c=$a$b
2.特殊符号(二)
2.1 $变量前缀,!$组合正则里表示行尾
2.2 ;多条命令写到一行,用;分割
image.png
2.3 ~用户家目录,正则里表示匹配符
2.4 &放到命令后,将命令放到后台
2.5 >正确覆盖 >>正确追加
2.6 2>错误覆盖 2>>错误追加
2.7 &>正确错误覆盖
2.8 []指定任意字符中的一个 [0-9] [a-z] [A-Z] [abc]
2.9 || 或者
# ls 9.txt || wc -l 4.txt //若执行ls命令1成功,则wc –l命令2不执行
image.png
2.10 &&同时满足
# ls 9.txt && wc -l 4.txt //若执行ls命令1成功,才执行wc –l命令2
image.png
2.11 # [ -d 20180703 ] || mkdir 20180703 //判断目录20180703是否存在,若不存在则创建
网友评论