810 shell特殊符_cut命令
[root@localhost ~]#cat anaconda-ks.cfg |grep "Sys*"
# System authorization information
# System language
# System services
# System timezone
# System bootloader configuration
[root@localhost ~]##ls
[root@localhost ~]#ls
a1.txt anaconda-ks.cfg a.txt d6z d6z.tar.gz
[root@localhost ~]#a=321
[root@localhost ~]#b=123$a
[root@localhost ~]#echo $b
123321
[root@localhost ~]#b=123\$a
[root@localhost ~]#echo $b
123$a
[root@localhost ~]#cat anaconda-ks.cfg |head -2 | cut -d "S" -f 1
(截取字符串 cut -d 分隔符 -f 截取的数量)
#version=DEVEL
#
[root@localhost ~]#cat anaconda-ks.cfg |head -2 | cut -d "S" -f 1,2
#version=DEVEL
# System authorization information
[root@localhost ~]#cat anaconda-ks.cfg |head -2 | cut -d "S" -f 1-3
#version=DEVEL
# System authorization information
[root@localhost ~]#cat anaconda-ks.cfg |head -2 | cut -c 5
(cut -c 第几个字符)
s
s
811 sort_wc_uniq命令
[root@localhost ~]#cat a.txt
2132145239786
wyuxcztaseyuiqw
123435ewqxdsa,.><>"|\]';.,/
jdioysaiud
sckgxzuyiasud78687
[root@localhost ~]#sort a.txt (排序)
123435ewqxdsa,.><>"|\]';.,/
2132145239786
jdioysaiud
sckgxzuyiasud78687
wyuxcztaseyuiqw
[root@localhost ~]#sort -n a.txt (以数字排序,其它为0)
jdioysaiud
sckgxzuyiasud78687
wyuxcztaseyuiqw
123435ewqxdsa,.><>"|\]';.,/
2132145239786
[root@localhost ~]#sort -r a.txt (反序)
wyuxcztaseyuiqw
sckgxzuyiasud78687
jdioysaiud
2132145239786
123435ewqxdsa,.><>"|\]';.,/
[root@localhost ~]#wc -l a.txt (统计行数)
5 a.txt
[root@localhost ~]#wc -m a.txt (统计字符数)
88 a.txt
[root@localhost ~]#wc -w a.txt (统计词数)
5 a.txt
[root@localhost ~]#sort a.txt |uniq -c(排序去重)
1 123435ewqxdsa,.><>"|\]';.,/
1 2132145239786
1 jdioysaiud
1 sckgxzuyiasud78687
1 wyuxcztaseyuiqw
812 tee_tr_split命令
tee重定向并打印
[root@localhost ~]#cat /etc/passwd |head -2 |tee a.txt (tee重定向并打印)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]#sort /etc/passwd |head -2 |tee a.txt
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]#cat a.txt
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
tee -a 追加重定向并打印
[root@localhost ~]#sort /etc/passwd |head -2 |tee -a a.txt
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]#cat a.txt
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
tr 替换字符
[root@localhost ~]#echo 'dasycxizijo' |tr '[a-z]' '[A-Z]'
DASYCXIZIJO
split 切割 -d 指定大小分割
[root@localhost ~]#split -b 100 anaconda-ks.cfg
[root@localhost ~]#ls -lh
总用量 712K
-rw-r--r--. 1 root root 70 1月 22 17:59 a1.txt
-rw-------. 1 root root 1.4K 12月 26 08:11 anaconda-ks.cfg
-rw-r--r--. 1 root root 140 1月 24 11:44 a.txt
drwxr-xr-x. 3 root root 91 1月 10 11:50 d6z
-rw-r--r--. 1 root root 640K 1月 10 17:14 d6z.tar.gz
-rw-r--r--. 1 root root 100 1月 24 11:54 xaa
-rw-r--r--. 1 root root 100 1月 24 11:54 xab
-rw-r--r--. 1 root root 100 1月 24 11:54 xac
-rw-r--r--. 1 root root 100 1月 24 11:54 xad
-rw-r--r--. 1 root root 100 1月 24 11:54 xae
-rw-r--r--. 1 root root 100 1月 24 11:54 xaf
-rw-r--r--. 1 root root 100 1月 24 11:54 xag
-rw-r--r--. 1 root root 100 1月 24 11:54 xah
-rw-r--r--. 1 root root 100 1月 24 11:54 xai
-rw-r--r--. 1 root root 100 1月 24 11:54 xaj
-rw-r--r--. 1 root root 100 1月 24 11:54 xak
-rw-r--r--. 1 root root 100 1月 24 11:54 xal
-rw-r--r--. 1 root root 100 1月 24 11:54 xam
-rw-r--r--. 1 root root 100 1月 24 11:54 xan
-rw-r--r--. 1 root root 18 1月 24 11:54 xao
split 切割 -l 指定行数分割
[root@localhost ~]#split -l 50 anaconda-ks.cfg
[root@localhost ~]#ls -lh
总用量 660K
-rw-r--r--. 1 root root 70 1月 22 17:59 a1.txt
-rw-------. 1 root root 1.4K 12月 26 08:11 anaconda-ks.cfg
-rw-r--r--. 1 root root 140 1月 24 11:44 a.txt
drwxr-xr-x. 3 root root 91 1月 10 11:50 d6z
-rw-r--r--. 1 root root 640K 1月 10 17:14 d6z.tar.gz
-rw-r--r--. 1 root root 1.4K 1月 24 11:58 xaa
-rw-r--r--. 1 root root 5 1月 24 11:58 xab
split 切割 指定文件名
[root@localhost ~]#split -b 200 anaconda-ks.cfg aaa.
[root@localhost ~]#ls -lh
总用量 684K
-rw-r--r--. 1 root root 70 1月 22 17:59 a1.txt
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.aa
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.ab
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.ac
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.ad
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.ae
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.af
-rw-r--r--. 1 root root 200 1月 24 12:02 aaa.ag
-rw-r--r--. 1 root root 18 1月 24 12:02 aaa.ah
-rw-------. 1 root root 1.4K 12月 26 08:11 anaconda-ks.cfg
-rw-r--r--. 1 root root 140 1月 24 11:44 a.txt
drwxr-xr-x. 3 root root 91 1月 10 11:50 d6z
-rw-r--r--. 1 root root 640K 1月 10 17:14 d6z.tar.gz
813 shell特殊符号(下)
$变量的前缀,!$组合 正则里面表示行尾
;多条命令写到一行时用分号分割
命令1 || 命令2 当第一个命令成功时则只执行第一个命令 当第一个命令不成功时则执行第二个命令
命令1 && 命令2 当第一个命令成功时则两个命令都执行 当第一个命令不成功时不执行第二个命令
[root@localhost ~]#a=1
[root@localhost ~]#echo $a
1
[root@localhost ~]#ls -lh anaconda-ks.cfg ; wc -l anaconda-ks.cfg
-rw-------. 1 root root 1.4K 12月 26 08:11 anaconda-ks.cfg
51 anaconda-ks.cfg
相关测验题目:http://ask.apelearn.com/question/5437
扩展
1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112
2. Linux特殊符号大全http://ask.apelearn.com/question/7720
3. sort并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975