码迷,mamicode.com
首页 > 系统相关 > 详细

8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

时间:2018-01-12 21:21:28      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:分享   不能   单位   查看   mil   head   shell   重复   ado   

8.10 shell特殊符_cut命令

1. 特殊符号:

*

通配符

任意一个字符

#

注释字符(文件脚本里行首加#,表示此行不生效)

  \

脱义字符

|  

管道符

cut命令: -d(分隔符) -f(指定段号) -c(指定第几个字符)

cut (分割)

-d (分隔符)

-f (指定段号)

1. 显示前两行,以:(冒号)分割,1,2,3,4

cat /etc/passwd  内容输出

|head -2  指定前两行内容

|cut -d ":"  指定以冒号为分割符号

-f 1,2,3,4   指定分割显示1,2,3,4段

[root@hao-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2,3,4

技术分享图片技术分享图片

2. 显示前两行,第三个字符:

cut (分割)

-c  (指定第几个字符)

[root@hao-02 ~]# cat /etc/passwd |head -2 |cut -c  3

8.11 sort  wc  uniq命令

sort: -n(数字排序) -r(反序) -t(分隔符)

1. 文件内容排序(数字在字母,按小到大):sort  文件名

sort (排序)

-n (以数字排序)

[root@hao-02 ~]# sort 1.txt

技术分享图片技术分享图片

2. 文件内容排序(数字在字母,按小到大):sort  n  文件名

sort (排序)

-n (以数字排序)

[root@hao-02 ~]# sort  n 1.txt

技术分享图片技术分享图片

3. 文件内容排序(数字在字母,按大到小):sort  -nr  文件名

sort (排序)

-n (以数字排序,反序)

[root@hao-02 ~]# sort -nr 1.txt

技术分享图片技术分享图片

4. 文件内容排序(-t指定分隔符为)

sort (排序)

-t 分隔符 -kn1/-kn1,n2

[root@hao-02 ~]# sort -t: 1.txt

wc:-l(统计行数)  -m(统计字符数)  -w(统计单词数)

1. 统计行数wc -l  文件名

[root@hao-02 ~]# wc -l 1.txt

2. 查看隐藏字符cat -A  文件名

[root@hao-02 ~]# cat -A 1.txt

3. 统计字符数wc -m 文件名

(每行行尾都有隐藏的$换行符,也会被统计当中)

[root@hao-02 ~]# wc -m 1.txt

4. 统计单(字符组)数量:wc -w 文件名

(字符以空格为分割符,逗号不算分割)

[root@hao-02 ~]# wc -w 1.txt

uniq命令:重复行 -c(统计重复行次数)

1. 排序去重复行sort  文件名 |uniq

[root@hao-02 ~]# sort 1.txt |uniq

2. 排序去重复行并 统计重复次数sort  文件名 |uniq -c

[root@hao-02 ~]# sort 1.txt |uniq -c

8.12 tee  tr  split命令

tee:重定向 -a(追加重定向,并在屏幕显示)

1. 输出文件内容排序,并重定向1.txt,并打印在屏幕上

sort 输出文件 |uniq -c |tee 重定向文件

[root@hao-02 ~]# sort 11.txt |uniq -c |tee 1.txt

2. 输出文件内容排序,并追加重定向1.txt,并打印在屏幕上sort 输出文件 |uniq -c |tee -a 追加重定向文件

[root@hao-02 ~]# sort 11.txt |uniq -c |tee -a 1.txt

3. 清空文件命令(重定向为空):>文件名

tr : 替换字符

1.  [root@hao-02 ~]# echo "haolinux" |tr '[al]' '[AL]'

2.  [root@hao-02 ~]# echo "haolinux" |tr 'a' 'A'

3.  [root@hao-02 ~]# echo "haolinux" |tr '[a-z]' '[A-Z]'

4.  [root@hao-02 ~]# echo "haolinux" |tr '[a-z]' '1'

split: -b(指定切割大小;默认单位“字节”)

        -l(指定切割行数)

1. 追加重定向到1.txt,用来做实验!!!

[root@hao-02 ~]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;

2. 指定切割大小为10K:split -b 指定大小 文件名

[root@hao-02 ~]# split -b 10k 1.txt

技术分享图片技术分享图片

3. 指定切割大小为10K(默认单位“字节”),并指定文件前缀(默认x开头):

split -b 指定大小 文件名  自定义前缀

[root@hao-02 ~]# split -b 10k 1.txt  hao.

技术分享图片技术分享图片

4. 指定切割行1000为一个文件,并指定文件前缀(默认x开头):

技术分享图片技术分享图片

8.13 shell特殊符号(下)

特殊符号:

$      变量前缀

!$    组合,正则里表示行尾

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

~     用户家目录;正则表达式表示匹配符

&     1命令&,会把1命令丢到后台

>     正确命令输出   重定向到文件(覆盖原文)

>>    正确命令输出   追加重定向到文件(不覆盖原文)

2>     错误命令输出   重定向到文件(覆盖原文)

2>>   错误命令输出   追加重定向到文件(不覆盖原文)

&>     不区分正确和错误命令输出  重定向到文件(覆盖原文)

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

用于命令之间:   ||    &&

1. ||两条命令中间:第一条命令执行成功,后面的命令不能继续执行

[root@hao-02 ~]# ls || ls -l

技术分享图片技术分享图片

2. ||两条命令中间:第一条命令执行失败,后面的命令才能继续执行

[root@hao-02 ~]# l || ls

技术分享图片技术分享图片

3. &&两条命令中间:第一条命令执行成功,后面的命令才能继续执行

[root@hao-02 ~]# ls && ls

技术分享图片技术分享图片


8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

标签:分享   不能   单位   查看   mil   head   shell   重复   ado   

原文地址:http://blog.51cto.com/zhuneianxiang/2060396

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!