linux shell中的特殊符号
[root@node69 test]# ls *.txt
1.txt 2.txt
命令 : cut
用来截取某一个字段
语法: cut -d '分隔字符' [-cf] n 这里的n是数字
-d :后面跟分隔字符,分隔字符要用双引号括起来
-c :后面接的是第几个字符
-f :后面接的是第几个区块
[root@node69 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1
root
bin
[root@node69 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2
root:x
bin:x
[root@node69 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1-3
root:x:0
bin:x:1
-d 后面跟分隔字符,这里使用冒号作为分割字符,-f 1 就是截取第一段
-c 后面可以是1个数字n,也可以是一个区间n1-n2
2)sort
语法: sort [-t 分隔符] [-kn1,n2] [-nru] (n1
不加选项,从首字符向后,依次按ASCII码值进行升序排序
-t 后指定分隔符,-kn1,n2表示在指定的区间中排序,-k后面只跟一个数字表示对第n个字符排序,-n表示使用纯数字排序
-r 表示以降序的形式排序
-u 去重
[root@node69 ~]# sort 2.txt |uniq
1
123
2
abc
abc 1111,222
3)wc
用于统计文档的行数、字符数、词数
不加任何选项,会显示行数、词数以及字符数
-l 统计行数
-m 统计字符数
-w 统计词数
[root@node69 ~]# wc -l /etc/passwd
43 /etc/passwd
[root@node69 ~]# wc -m /etc/passwd
2242 /etc/passwd
[root@node69 ~]# wc -w /etc/passwd
86 /etc/passwd
[root@node69 ~]# sort 2.txt |uniq
1
123
2
abc
abc 1111,222
[root@node69 ~]# sort 2.txt |uniq -c
2 1
2 123
1 2
1 abc
1 abc 1111,222
5)命令 : tee
后跟文件名,类似与重定向 “>”, 但是比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上。
[root@node69 ~]# sort 2.txt |uniq -c |tee a.txt
2 1
2 123
1 2
1 abc
1 abc 1111,222
[root@node69 ~]# sort 2.txt |uniq -c |tee -a a.txt
2 1
2 123
1 2
1 abc
1 abc 1111,222
[root@node69 ~]# cat a.txt
2 1
2 123
1 2
1 abc
1 abc 1111,222
2 1
2 123
1 2
1 abc
1 abc 1111,222
##### -a 选项,类似于追加
[root@node69 ~]# echo "wagskun" |tr 'a' 'A'
wAgskun
[root@node69 ~]# echo "wagskun" |tr '[a-z]' '[A-Z]'
WAGSKUN
[root@node69 ~]# echo "wagskun" |tr '[a-z]' '1'
1111111
7)split 切割大文件用的
[root@node69 ~]# find /etc/ -type f -name "*conf" -exec cat {} >> a.txt \;
[root@node69 ~]# du -sh a.txt
1.0M a.txt
[root@node69 ~]# mv a.txt test/
[root@node69 ~]# cd test
[root@node69 test]# split -b 1000 a.txt
[root@node69 test]# ls
1.txt xbk xcx xek xfx xhk xix xkk xlx xnk xox xqk xrx xtk xux xwk xxx
2.txt xbl xcy xel xfy xhl xiy xkl xly xnl xoy xql xry xtl xuy xwl xxy
a.txt xbm xcz xem xfz xhm xiz xkm xlz xnm xoz xqm xrz xtm xuz xwm xxz
xaa xbn xda xen xga xhn xja xkn xma xnn xpa xqn xsa xtn xva xwn xya
xab xbo xdb xeo xgb xho xjb xko xmb xno xpb xqo xsb xto xvb xwo xyb
xac xbp xdc xep xgc xhp xjc xkp xmc xnp xpc xqp xsc xtp xvc xwp xyc
xad xbq xdd xeq xgd xhq xjd xkq xmd xnq xpd xqq xsd xtq xvd xwq xyd
xae xbr xde xer xge xhr xje xkr xme xnr xpe xqr xse xtr xve xwr xye
xaf xbs xdf xes xgf xhs xjf xks xmf xns xpf xqs xsf xts xvf xws xyf
[root@node69 test]# split -l 1000 a.txt
[root@node69 test]# ls -l
总用量 3836
-rw-r--r-- 1 root root 7 11月 17 00:02 1.txt
-rw-r--r-- 1 root root 14 11月 17 00:02 2.txt
-rw-r--r-- 1 root root 647650 11月 18 10:25 a.txt
$变量前缀,!$组合,正则里面表示行尾
;多条命令写到一行,用分号分割
~用户家目录,
后面正则表达式表示匹配符
&放到命令后面,会把命令丢到后台
> >> 2> 2>> &>
[]指定字符中的一个,[0-9],[a-zA-Z],[abc]
||和&& ,用于命令之间