shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号下

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

猜你喜欢

转载自my.oschina.net/u/3771583/blog/1631333