shell特殊符号cut,sort_wc_uniq,tee_tr_split, shell特殊符号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell特殊符号cut,sort_wc_uniq,tee_tr_split, shell特殊符号相关的知识,希望对你有一定的参考价值。
特殊符号
-
* 任意字符
-
? 任意一个字符
-
注释字符
表示这条命令不生效,起到解释说明
-
\ 脱义字符
[[email protected] ~]# a=1
[[email protected] ~]# b=2
[[email protected] ~]# c=$a$b
[[email protected] ~]# echo $c
12
[[email protected] ~]# c=\$a\$b
[[email protected] ~]# echo $c
$a$b
[[email protected] ~]#
-
| 管道符,几个和管道有关的命令
-
cut命令:截取字符串
-
cat /etc/passwd |cut -d ":" -f 1,2
-d分隔符
-f指定段号
-c指定第几个字符,使用时候就不能用 -d ,-f了。
[[email protected] ~]# cat /etc/passwd | head
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[[email protected] ~]# cat /etc/passwd |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
games:x
ftp:x
nobody:x
systemd-bus-proxy:x
systemd-network:x
dbus:x
polkitd:x
tss:x
postfix:x
sshd:x
chrony:x
user1:x
user2:x
user3:x
[[email protected] ~]#
-
sort :排序命令,默认按照阿斯玛顺序排列
[[email protected] ~]# sort 1.txt
>
.
@
《
111n
1.txt
*2
222333
222444
222555
222aaaa
2.txt
333333
4444444
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ls: 无法访问asffsfs.txt: 没有那个文件或目录
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologi
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[[email protected] ~]#
-n 以数字排序,默认字母和特殊符号都会被认为为0
[[email protected] ~]# sort -n 1.txt
>
.
@
《
*2
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ls: 无法访问asffsfs.txt: 没有那个文件或目录
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologi
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
1.txt
2.txt
111n
222aaaa
222333
222444
222555
333333
4444444
[[email protected] ~]#
-r 反序,跟阿斯玛反过来
[[email protected] ~]# sort -r 1.txt
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologi
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
ls: 无法访问asffsfs.txt: 没有那个文件或目录
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
4444444
333333
2.txt
222aaaa
222555
222444
222333
*2
1.txt
111n
《
@
.
>
[[email protected] ~]#
-t 分隔符。-kn1/-kn1,n2
-
wc -l :统计行数命令
[[email protected] ~]# wc -l 1.txt
25 1.txt
wc -m :统计字符数
[[email protected] ~]# wc -m 1.txt
487 1.txt
wc -w :统计词 ,以空白字符为分割
[[email protected] ~]# wc -w 1.txt
27 1.txt
[[email protected] ~]#
-
uniq 去重 需要相邻的重复词才能去掉,所以一般先排序后去除重复 sort 2.txt |uniq -c
-c 统计重复行数
tee 和 > 类似
可视化重定向
[[email protected] ~]# sort 1.txt > a.txt
[[email protected] ~]# cat a.txt
>
.
@
《
111n
1.txt
*2
222333
222444
222555
222aaaa
2.txt
333333
4444444
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ls: 无法访问asffsfs.txt: 没有那个文件或目录
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologi
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[[email protected] ~]# sort 1.txt |tee a.txt
>
.
@
《
111n
1.txt
*2
222333
222444
222555
222aaaa
2.txt
333333
4444444
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ls: 无法访问asffsfs.txt: 没有那个文件或目录
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologi
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[[email protected] ~]#
-
|tee -a 可视化追加重定向
-
tr 替换字符
[[email protected] ~]# echo "aminglinux" |tr ‘a‘ ‘A‘
Aminglinux
[[email protected] ~]# echo "aminglinux" |tr ‘[anx]‘ ‘[ANX]‘
AmiNgliNuX
[[email protected] ~]# echo "aminglinux" |tr ‘[a-z]‘ ‘[A-Z]‘
AMINGLINUX
split 切割
-
-b指定分割大小: split -b 100M bigfile filename(不写单位默认显示是字节)
-
-l指定分割文件行数 :split -l 1000 bigfile filename
shell 特殊符号
-
$变量前缀,!$组合,正则里面表示行尾
-
; 多条命令写到一行,用分号分割
-
~ 用户家目录,后面正则表达式表示匹配符
-
& 放到命令后面,会把命令丢到后台
-
> >> 2> 2>> &>
-
[] 指定字符中的一个
-
||和&&,用于命令之间
- || 或者的意思
- &&
- ||
如果||前面的命令提示成功,||后面的命令就不会执行,如果前面命令执行不成功,才会执行||后面的命令。
[[email protected] ~]# ls 1a.txt ; wc -l 1.txt
ls: 无法访问1a.txt: 没有那个文件或目录
25 1.txt
[[email protected] ~]# ls 1a.txt || wc -l 1.txt
ls: 无法访问1a.txt: 没有那个文件或目录
25 1.txt
[[email protected] ~]# ls 1.txt || wc -l 1.txt
1.txt
[[email protected] ~]#
- &&
如果前面的命令执行成功后,才会执行后面的命令,如果前面命令错了,就不会执行后面的命令了,
[[email protected] ~]# ls 1.txt && wc -l 1.txt
1.txt
25 1.txt
[[email protected] ~]# ls 1a.txt && wc -l 1.txt
ls: 无法访问1a.txt: 没有那个文件或目录
[[email protected] ~]#
以上是关于shell特殊符号cut,sort_wc_uniq,tee_tr_split, shell特殊符号的主要内容,如果未能解决你的问题,请参考以下文章
8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee
shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令
shell特殊符号cut ,sort_wc_uniq,tee_tr_split命令shell特殊符号
shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号