shell特殊符号
cut命令(截取列)
-d 指定分隔符 -f 指定截取列
[root@glinux-01 ~]# cat /etc/passwd|head -10|cut -d ":" -f 1,2
root:x
bin:x
daemon:x
adm:x
lp:x
sync:x
shutdown:x
halt:x
mail:x
operator:x
-c 指定第几个字符
[root@glinux-01 ~]# cat /etc/passwd|head -3|cut -c 2
o
i
a
sort_wc_uniq命令
- sort 排序(不加选项按数字,字母顺序排序)
[root@glinux-01 ~]# cat 1.txt|sort
1
2
3
a
b
c
-n 按数字顺序排序,字母比数字小
[root@glinux-01 ~]# cat 1.txt|sort -n
a
b
c
1
2
-r反向排序
[root@glinux-01 ~]# cat 1.txt|sort -nr
3
2
1
c
b
a
- wc 统计命令 (-l 统计行数 -m统计字符数 -w统计词)
wc 1.txt 2行数 2词数 8字符数(换行符也算)
[root@g_linux01 ~]# cat -A 1.txt
123$
abc$
[root@g_linux01 ~]# wc 1.txt
2 2 8 1.txt
- uniq 去重复命令(只可以按顺序去重,因此多和sort 搭配使用)
[root@g_linux01 ~]# cat 1.txt
123
abc
123
1
1
[root@g_linux01 ~]# uniq 1.txt
123 //123没去重
abc
123
1 //1去重了
先排序,再去重-c 重复计数
[root@g_linux01 ~]# sort -n 1.txt|uniq -c
1 abc
2 1
2 123
tee_tr_split命令
- tee 重定向到文件中,并打印到屏幕上(-a 追加的文件中 >重定向不打印)
[root@g_linux01 ~]# sort -n 1.txt|uniq -c|tee a.txt
1 abc
2 1
2 123
[root@g_linux01 ~]# cat a.txt
1 abc
2 1
2 123
[root@g_linux01 ~]# sort -n 1.txt|uniq -c|tee -a a.txt
1 abc
2 1
2 123
[root@g_linux01 ~]# cat a.txt
1 abc
2 1
2 123
1 abc
2 1
2 123
- tr替换命令
[root@g_linux01 ~]# echo 'helloworld'|tr 'h' 'H'
Helloworld
[root@g_linux01 ~]# echo 'helloworld'|tr '[a-z]' '[A-Z]'
HELLOWORLD
- split 切割命令(-b 指定切割大小 -l 指定切割行数)
split -b 100M 【filename】将文件按100M每个切割
指定切割后的文件名
-l 1000 指定文件按1000行每个切割
shell特殊符号下
>重定向 >>追加重定向 2>错误重定向 2>>错误追加重定向 &>正确错误重定向
|| 逻辑
命令1 || 命令2 命令1执行成功,则不执行命令2
例:[ -d test ] || mkdir test 判读test是否存在,是否是目录,如果不是则创建test目录
&&逻辑与
命令1 && 命令2 命令1成功,则执行命令2