五周第五次课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五周第五次课相关的知识,希望对你有一定的参考价值。
8.10 shell特殊符号cut命令* 任意个任意字符
*代表零个或多个任意字符
? 任意一个字符
?只代表一个任意的字符
#注释字符
表示注释说明,即#后面的内容都会被忽略
\ 脱义字符
这个字符会将后面的特殊符号 (如*) 还原为普通字符
|
管道福
这个字符前面曾多次出现过,它的作用是将前面命令的输出作为后面命令的输人。这里提到的后面的命令,并不是所有的命令都可以的,一般针对文档操作的命令比较常用。例如cat、less、head, tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk等,其中grep、sed和awk是正则表达式,必须掌握的工具
cut 分割,-d 分隔符 -f 指定段号 -c 指定第几个字符
# cat /etc/passwd | head -2 | cut -d ":" -f 1 截取以:分割后第一段
root
bin
# cat /etc/passwd | head -2 | cut -d ":" -f 1,2 截取以:分割后的1,2两段
root:x
bin:x
# cat /etc/passwd | head -2 | cut -d ":" -f 1-3 截取以:分割后的1-2段
root:x:0
bin:x:1
# cat /etc/passwd | head -2 | cut -c 1-4 截取1-4个字符
8.11 sort_wc_uniq命令
sort 排序, -n 以数字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2
sort /etc/passwd 以asc码排序
sort -n 1.txt 以数字排正序,默认字母和符号是0
sort -rn 1.txt 反序
sort -n -t 2 1.txt -t以第几位排序
wc -l 1.txt 统计行数
wc -m 2.txt 统计字符数
# cat -A 2.txt 因为有换行符所以是8个字符
123$
456$
wc -w 2.txt 统计词数
uniq 去重,必须先排序
sort 2.txt | uniq 排序并去重
sort 2.txt | uniq -c 先排序并统计重复行数
8.12 tee_tr_split命令
tee 和>类似,重定向的同时还在屏幕显示
sort 2.txt | uniq -c | tee a.txt 重定向并显示出来
> a.txt 清空
sort 2.txt | uniq -c | tee -a a.txt -a追加重定向
echo "aiker" | tr ‘[ai]‘ ‘[AI]‘ 任意两个字符转换小写为大写
echo "aiker" | tr ‘a‘ ‘A‘ 单个字符转换小写为大写
echo "aiker" | tr ‘[a-z]‘ ‘[A-Z]‘ 全部小写转大写
echo "aiker" | tr ‘[a-z]‘ ‘1‘ 全部小写转数字1
11111
split 切割,-b大小(默认单位字节),-l行数
split -b 100M a.txt 指定大小切割
split -b 1000k a.txt abc 切割指定前缀
split -l 2000 a.txt ll 指定以行数切割
8.13 shell特殊符号下
$ 变量前缀,!$组合,正则里面表示行尾
; 多条命令写到一行,用分号分割
for i in `seq 1 10`; do echo $i; done
~ 用户家目录,后面正则表达式表示匹配符
& 放到命令后面,会把命令丢到后台
> 正确重定向
>> 正确追加重定向
2> 错误重定向
2>> 错误追加重定向
&> 正确和错误重定向
command> 1.txt 2>&1 正确和错误都重定向到1.txt
[ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc]
|| 或者,如果第一条命令执行成功,不执行第二条命令,如果前面的命令执行不成功,则执行后面的命令;用来判断[ -f b.txt ] || touch b.txt
&& 和,前面成功才执行后面的命令;用来判断
相关测验题目: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
以上是关于五周第五次课的主要内容,如果未能解决你的问题,请参考以下文章