4月24日

8.10 shell特殊符号cut截取命令

一、 shell特殊符号

 

1* 任意个任意字符(这是一个通配符)

2? 任意一个字符

3# 注释字符

4\ 脱义字符

5| 管道符

二、几个和管道符有关的命令:

 2.1 截取某一个字段的命令:cut 命令     (-d -f 一般一起使用)

-d :后面跟分隔字符,分隔字符要用单引号括起来 

-f :后面接的是第几个区块 

-c :后面接的是第几个字符 

 

-d 后面跟分隔字符,这里使用冒号作为分割字符-f 1 就是截取第一段-f1之间的空格可有可无。 

-c 后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1,n2,n3 

blob.png 

cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符,

cat passwd这个文件,head只查看前两行,cut -d截取分割符号为':'-f 1 表示截取第一段,1,2表示前两段,1-3表示头三段。

 8.11 sort_wc_uniq命令

sort排序_wc统计行数_uniq删除重复行

1.sort 排序,-n 以数字排序 , -r 反序  , -t 分隔符, -kn1/-kn1,n2(基本少很用-t)

-t 后面跟分割字符,作用跟cut -d选项一样,截取符号是什么; -n 表示使用纯数字排序,字母及特殊符号表示为0 -r 表示反向排序; -u 表示除去重复; -kn1,n2 表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序。

1.1 如图用sort进行排序

blob.png 

1.2 用纯数字进行排序:sort -n 1.txt

blob.png 

1.3用纯数字进行反序:srot -nr 1.txt

blob.png 

2.1 命令 : wc 

用于统计文档的行数、字符数、词数,常用的选项为: 

-l :统计行数 

-m :统计字符数 

-w :统计词数 

blob.png 

wc 不跟任何选项,直接跟文档,则会把行数、词数、字符数依次输出

3.1 命令 : uniq 

去重复的行,常与sort排序命令一起使用。使用uniq 的前提是需要先给文件排序,否则不管用

-c :统计重复的行数,并把行数写在前面 

blob.png 

 

8.12 tee_tr_split命令

1. 命令 : tee        ,选项 -a 追加

后跟文件名,类似与重定向 “>”, 但是比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上 

1.1 2.txt内容去除重后写入a.txt

blob.png 

1.2 tee -a 追加内容

blob.png 

2.tr 命令 替换字符,tr 'a' 'b',大小写替换tr '[a-z]' '[A-Z]'

blob.png 

3.split命令 切割文档 

常用选项: 

-b :依据大小来分割文档,单位为byte 

-l :依据行数来分割文档 

3.1 切割文档a.txt 每个为100K

blob.png 

3.2切割文档a.txt 每个为100K,文件命名开头为asd

blob.png 

3.3 切割文档a.txt 每个切割文档为1000

blob.png 

8.13 shell特殊符号下

 

1$ 变量前缀,!$组合(最近使用过的命令),正则里面表示行尾

blob.png 

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

blob.png 

3 ~ 用户家目录,后面正则表达式表示匹配符

4& 放到命令后面,会把命令丢到后台

5、  > >> 2> 2>> &>

>    :正确重定向,会把之前的文件覆盖掉。

>>  :追加重定向,追加内容正确输出。

2>  :错误重定向

2>>:追加错误重定向

&>  :表示正确与错误输出重定向

 

6[ ] 指定字符中的一个,如[0-9],[a-zA-Z],[abc]

7|| && ,用于命令之间。

|| :表示或者的意思,当同时使用执行两条命令时,如果第一条命令执行不成功,那就执行第二条命令,如果第一条命令执行成功,那就不执行第二条命令,示例如下:

blob.png 

&&:表示并且的意思,当同时使用执行两条命令时,如果前面命令执行成功才执行后面的命令,否则不执行。

示例如下:

blob.png 

7.1 判断一个目录是否存在,如: 

  [ -d aminglinux ] || mkdir aminglinux

(如果amolinux目录存在,就不执行后面的创建目录命令;如果amolinux目录不存在 ,就执行创建目录的命令)

实验:

blob.png 

解释:

[ -d aminglinux ]:判断一个目录是否存在。

 




猜你喜欢

转载自blog.51cto.com/404006045/2107393