Day 3

1.命令split切割,shell特殊符号 split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。 命令选项: -b:值为每一输出档案的大小,默认单位为 byte。 -l:值为每一输出档的列数大小。

命令示例:
分割成每个为50k的文件(注意当split分割完后会保存原文件)

[root@localhost test]# ls
a.txt
[root@localhost test]# du -sh a.txt
252K    a.txt
[root@localhost test]# split -b 50K a.txt        //使用-b选项,把a.txt文件分割成每个为50k的小文件。
[root@localhost test]# ls
a.txt  xaa  xab  xac  xad  xae  xaf

使用分割并指明分割文件的头缀 [root@localhost test]# ls a.txt [root@localhost test]# split -b 50k a.txt aa //指明分割的文件每个开头为aa [root@localhost test]# ls aaaa aaab aaac aaad aaae aaaf a.txt

把a.txt分割成每个文件最多有10行的文件 [root@localhost test]# ls a.txt [root@localhost test]# split -l 10 a.txt //分割成每个文件最多有10行的小文件 [root@localhost test]# ls a.txt xaa xab xac //可见分了三个小文件,每个文件的内容为10行

2.另外几个和管道有关的命令 cut 分割,-d 分隔符 -f 指定段号 -c 指定第几个字符 sort 排序, -n 以数字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2 wc -l 统计行数 -m 统计字符数 -w 统计词 例:cat a.txt | wc -l uniq 去重, -c统计行数,必须先经过sort排序后才能去重 cat -A 查看包括隐藏字符在内的所有内容

3.shell特殊符号 命令连接符: “||”、“&&”、“;”

cat a.txt ; cat b.txt : 不管cat a.txt是否执行成功都会执行cat b.txt; cat a.txt &&cat b.txt : 只有cat a.txt执行成功后才会执行cat b.txt; cat a.txt || cat b.txt : 表示cat a.txt执行成功后,cat b.txt不执行;

4.重定向 & 是一个描述符,如果1或2前不加&,会被当成一个普通文件。

1>&2 意思是把标准输出重定向到标准错误.

2>&1 意思是把标准错误输出重定向到标准输出。

&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中