五周第五次课

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
扩展

  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

以上是关于五周第五次课的主要内容,如果未能解决你的问题,请参考以下文章

Linux20180424五周第五次课(4月24日)

Linux20180424五周第五次课(4月24日)

五周第五次课

五周第五次课

五周第五次课(3月9日)

Linux学习笔记第五周第五次课(3月9日)