基础-25、linux shell基础知识(三)

笔记内容:
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. 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

image.png

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是否存在,若不存在则创建

image.png

赵老铁的

你可能感兴趣的:(基础-25、linux shell基础知识(三))