8.10 shell特殊符号(上)、cut命令
8.11 sort、wc、uniq命令
8.12 tee、tr、split命令
8.13 shell特殊符号(下)
简易审计系统(必需要预习): http://www.68idc.cn/help/server/linux/2014042190951.htmlhtml
扩展
关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environment-variables.html
source exec 区别 http://alsww.blog.51cto.com/2001924/1113112
sort并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975linux
1、shell特殊符号 cut命令正则表达式
* 通配符,任意个任意字符shell
? 任意一个字符ui
# 注释字符.net
\ 脱义字符3d
| 管道符server
与管道符相关的命令:htm
cut 截取、分割 -d 分隔符,-f 指定段号,-c指定第几个字符,使用-c没法同时使用-d -fblog
2、sort wc uniq 命令(不会更改文件的内容)
sort排序
按照 ASCII码 排序
特殊字符排前面,而后是数字开头,若是前面数字相同,会去判断后面的数字或字符
sort -n 11.txt -n 以数字排序,字母或特殊符号会认为是0
sort -r 11.txt -r 反序排序 -t 分隔符(了解)
wc -l 11.txt 统计行数
-m 统计字符数,cat -A 11.txt -A查看文件全部内容,包括隐藏的,会把文件中每行最后的$ 换行符也统计进去
-w 统计词,会以空白字符做为分隔符
uniq 去重 只能把连续的两个重复的字符去重,须要先排序在去重
sort 2.txt |uniq 先排序在去重,-c 统计出现次数
3、 tee tr split命令
tee和>相似,重定向的同时并在屏幕显示
sort 2.txt |uniq -c |tee 3.txt
> 1.txt 清空1.txt
sort 2.txt |uniq -c |tee -a 3.txt -a追加
tr 替换字符 针对字符来操做(了解便可)
echo 'tobej' |tr '[tb]' '[TB]' 把tobej的小写t和b替换为大写的
echo 'tobej' |tr '[a-z]' '[A-Z]' 把全部小写替换为大写
echo 'totbe' |tr 't' 'T' 这样会把全部的小t替换为大写的
split 切割
-b 大小(若是不写单位,默认单位 字节)
-l 行数,(小写L)
把3.txt切割成100k大小的一个文件,不指定文件名的话,默认已x开头xaa,xab---xba以字母顺序依次排序,xz排序完成后,若是还有文件,会增长文件的长度继续进行命名
split -b 100k 3.txt abc.
切割是同时,指定前缀为abc.
split -l 1000 3.txt 把3.txt切割成1000行一个的文件
4、shell特殊符号(下)
$变量前缀, !$组合,正则中表示行尾
; 多条命令写到一行,用分号分割
~ 用户家目录,正则表达式表示匹配符
&放到命令后面,会把命令丢到后台
&> 正确和错误输出重定向
> 正确重定向,会覆盖以前的文件
>> 正确追加剧定向
2> 错误重定向
2>>错误追加剧定向
不区分对错,都输入到一个文件中使用&
[ ]指定字符中的一个,[0-9],[a-zA-Z],[abc]
|| shell中表示 '或者'
|| 用在两条命令之间时,前面的命令执行成功时,后面的命令再也不执行,前面的命令有问题才执行后面的命令
&&若是前面的命令执行成功才会执行后面的命令
[ -d tobe ] || mkdir tobe 判断目录是否存在,不存在则建立目录