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]ost ~]# 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] ~]#

原文地址:http://blog.51cto.com/11751505/2107526

时间: 2024-11-07 22:51:38

shell特殊符号cut,sort_wc_uniq,tee_tr_split, shell特殊符号的相关文章

26期20180702 shell特殊符号 cut sort_wc_uniq trr_tr_spli

7月2日任务8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下相关测验题目: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并未按A

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 # 8.10 shell 特殊符_cut命令 --- - * 任意个任意字符 - ?任意一个字符 -  井号#注释字符  写命令的时候前面加一个#,那么这条命令就不生效,包括shell脚本里面也是,前面加个#表示这一行不生效,可以加一些注释说明的文字 ``` <[email protected] ~># #ls a.txt <[email

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号

五周第五次课(1月12日)8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号相关测验题目: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. so

二十五、shell特殊符号cut命令、sort_wc_uniq命令、 tee_tr_split命令、

二十五.shell特殊符号cut命令.sort_wc_uniq命令. tee_tr_split命令. shell特殊符号下 一.shell特殊符号cut命令 特殊符号 *:通配. ?:任意一个字符. #:注释字符,加在命令前面命令就不会生效. \:脱义字符.会将后面的特殊符号(如*)还原为普通字符.示例: # ls -d 123\* ls: 无法访问123*: 没有那个文件或目录 cut命令:截取某一个字段.分隔. 格式:# cut -d '分隔字符' [-cf] n,n为数字. 可用选项: -

shell特殊符号cut ,sort_wc_uniq,tee_tr_split命令shell特殊符号

8.10 shell特殊符号cut命令\ 脱义字符 管道符相关的几个命令cut -d命令的用法cut -c命令的用法sort经常要跟uniq结合使用sort的作 用是排序,先从特殊符号开始,再到数字,再到字母sort -n 会以数字排序,特殊符号与字母都会被认为是0sort -nr 1.txt跟上面返过来排序wcvim 2.txt 输入123换行abc,查询的结果是8个字符,包括了换行符号uniq去重,是先排序再去掉重复的tee的用法tee -a 表示追加tr 的用法tr 把字母改为数字,数字只

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 cut命令 8.11 sort_wc_uniq命令 sort-wc-uniq命令 特殊符号都会认为是0 sort -n  以数字排序 sort -n  默认排序 sort -rn 为倒序 wc 命令 uniq命令 原文地址:http://blog.51cto.com/wbyyy/2060163

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_t

8.10 shell特殊符号cut命令 :表示任意个任意字符?:表示任意单个字符#:表示注释字符\ 表示脱义字符| 表示管道符cut命令用来截取某一字段-d 指定分隔符,分隔符用双引号括起来 (-d " :"指定冒号分隔符)-c:指定第几个字符-f: 接的是第几块 8.11 sort_wc_uniq命令sort命令主要用于排序-t :后面加分隔符(与cut -d加分隔符一样)-n:表示纯数字排序-r:反向排序-u :表示去重wc -l :命令表示统计行数uniq -c :命令表示 8.

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.1

8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下 shell特殊符号 *为通配符 代表所有 任意字符 ?为单一字符 为注释字符(在配置文件里面 或者是写命令的时候在前面加# 这条命令就不会生效) \脱义字符 取消原来的含义 | 管道符1.管道符相关的命令 $ 变量前缀 ,!$组合,正则里面表示行尾 :多条命令写到一行的时候用分号分隔 -用户家目录,正则表达式里表示匹配符 &把命令放到后台 (>正确

Linux——note shell常用命令 cut 、sort、unqi、tee、tr、split和shell中连接符&& ||

1.cut 常用作将一个文件分段 cut -d'分隔符' [-cf] n -d 后面指定分隔符,用单引号引起来. -f 指定第几段 -c 后面只有一个数字表示截取第几个字符,后面跟一个数字区域,表示截取从几到几. [[email protected] ~]# cut -d: -f 3 /etc/passwd [[email protected] ~]# cut -d: -f 3,4 /etc/passwd [[email protected] ~]# cut -c 10 /etc/passwd

[Shell]Bash基本功能:通配符与特殊符号

/*------------------------------------------------------------------------------------------- @黑眼诗人 <www.chenwei.ws> --------------------------------------------------------------------------------------------*/ 一. 通配符: ?    匹配一个任意字符. *    匹配0个一个或多个