3)sort :用做排序
语法:sort [-t 分隔符] [-kn1,n2] [-nru] 这里的n1<n2
-t 分隔符:作用跟cut的-d一个意思
-n :使用纯数字排序
-r :反向排序
-u :去重复
-kn1,n2 :由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
4) 4)wc:统计文档的行数、字符数、词数,常用的选项为:
-l :统计行数
-m :统计字符数
-w :统计词数
5)uniq:去重复的行,笔者常用的选项只有一个:
-c :统计重复的行数,并把行数写在前面
有一点需要注意,在进行uniq之前,需要先用sort排序然后才能uniq,否则你将得不到你
想要的
6)tee :后跟文件名,类似与重定向”>”,但是比重定向多了一个功能,在把文件写入后面
所跟的文件中的同时,还显示在屏幕上。
77)tr :替换字符,常用来处理文档中出现的特殊符号,如DOS文档中出现的^M符号。常
用的选项有两个:
-d :删除某个字符,-d 后面跟要删除的字符
-s :把重复的字符去掉
最常用的就是把小写变大写:tr ‘[a-z]’‘[A-Z]’
当然替换一个字符也是完全可以的
不过替换、删除以及去重复都是针对一个字符来讲的,有一定局限性。如果是针对一个字符
串就不再管用了,所以笔者建议只是简单了解这个tr即可,以后你还会学到更多可以实现
针对字符串操作的工具。
8)split :切割文档,常用选项:
-b :依据大小来分割文档,单位为byte
8)split :切割文档,常用选项:
-b :依据大小来分割文档,单位为byte
格式如上例,后面的passwd为分割后文件名的前缀,分割后的文件名为passwdaa,passwdab,
passwdac…
-l :依据行数来分割文档
6. 6. ;:分号。平时我们都是在一行中敲一个命令,然后回车就运行了,那么想在一行中
运行两个或两个以上的命令如何呢?则需要在命令之间加一个”;”了。
7.~:用户的家目录,如果是root则是/root ,普通用户则是/home/username
8.&:如果想把一条命令放到后台执行的话,则需要加上这个符号。通常用于命令运行时
间非常长的情况。
使用jobs可以查看当前shell中后台执行的任务。用fg可以调到前台执行。这里的sleep命
令就是休眠的意思,后面跟数字,单位为秒,常用语循环的shell脚本中。
此时你按一下CTRL+z使之暂停,然后再输入bg可以再次进入后台执行。
如果是多任务情况下,想要把任务调到前台执行的话,fg后面跟任务号,任务号可以使用jobs
命令得到
9.>,>>,2>,2>>:前面讲过重定向符号>以及>> 分别表示取代和追加的意思,然后还有两
个符号就是这里的2>和2>> 分别表示错误重定向和错误追加重定向,当我们运行一个命
令报错时,报错信息会输出到当前的屏幕,如果想重定向到一个文本里,则要用2>或者2>>。
10.[] :中括号,中间为字符组合,代表中间字符中的任意一个
11. &&与||
在上面刚刚提到了分号,用于多条命令间的分隔符。另外还有两个可以用于多条命令中间的
特殊符号,那就是“&&”和”||”。下面笔者把这几种情况全列出:
1) command1;command2
2) command1&&command2
3) command1||command2
使用”;”时,不管command1是否执行成功都会执行command2;使用”&&”时,只有command1
执行成功后,command2才会执行,否则command2不执行;使用”||”时,command1执行
成功后command2 不执行,否则去执行command2,总之command1和command2总有一
条命令会执行。