2019独角兽企业重金招聘Python工程师标准>>>

特殊符号总结一

  • * 任意个任意字符
  • ? 任意一个字符
  • # 注释字符
  • \ 脱义字符
  • | 管道符
# #号后的备注被忽略
[root@centos01 ~]# ls a.txt # 备注
a.txt
[root@centos01 ~]# a=1
[root@centos01 ~]# b=2
[root@centos01 ~]# c='$a$b'
[root@centos01 ~]# echo $c
$a$b
[root@centos01 ~]# c=\$a\$b # 使用脱义字符
[root@centos01 ~]# echo $c
$a$b# 管道符综合使用
[root@centos01 ~]# cat /etc/passwd | head -n 2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
# cut命令
# -d指定分隔符
# -f 1 表示取分隔后的第一段值
# -f 1,2 表示取1,2段值
# -f 1-3 表示取1至3段的值
# -c 指定第几个字符
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -d ":" -f 1
root
bin
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -d ":" -f 1,2
root:x
bin:x
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -d ":" -f 1,2,3
root:x:0
bin:x:1
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -d ":" -f 1-3
root:x:0
bin:x:1
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -c 1
r
b
[root@centos01 ~]# cat /etc/passwd | head -n 2| cut -c 2
o
i

sort,wc,uniq 命令

  • sort 排序, -n 以数字排序 -r反序 -t 分隔符 -kn1/-kn1,n2
  • wc -l 统计行数 -m 统计字符数 -w统计词(以空白字符区分词)
  • uniq 去重 -c统计行数
  • tee和>类似,重定向的同时还在屏幕显示, -a 追加
  • tr替换字符, tr 'a' 'b', 大小写替换 tr '[a-z]' '[A-Z]'
  • split 切割 -b大小(默认单位字节), -l行数
[root@centos01 ~]# cat /etc/passwd | head -n 10
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[root@centos01 ~]# cat /etc/passwd | head -n 10 | sort
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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync[root@centos01 ~]# cat s.txt
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
1111
1112
2aa1
2ab1
<
?
>[root@centos01 ~]# sort s.txt -n
<
>
?
{
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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
2aa1
2ab1
1111
1112[root@centos01 ~]# cat /etc/passwd | head -n 10 | sort -r
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/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
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[root@centos01 ~]# cat 1.txt
1
[root@centos01 ~]# cat -A 1.txt # -A查看所有字符,包括隐藏字符
1$[root@centos01 ~]# cat wc_test.txt
This is a test file.
line 2
line 3
line 4
[root@centos01 ~]# wc wc_test.txt -l
4 wc_test.txt
[root@centos01 ~]# wc wc_test.txt -w
11 wc_test.txt
[root@centos01 ~]# wc wc_test.txt -m
42 wc_test.txt[root@centos01 ~]# cat uniq_test.txt
1
2,
3
3,
4
4
abc
ab
6
1
[root@centos01 ~]# uniq uniq_test.txt # 只去重相邻相同的‘4’,1并没有去重
1
2,
3
3,
4
abc
ab
6
1
[root@centos01 ~]# sort uniq_test.txt | uniq # 排序后就可以去重了
1
2,
3
3,
4
6
ab
abc[root@centos01 ~]# uniq uniq_test.txt -c1 11 2,1 31 3,2 41 abc1 ab1 61 1
[root@centos01 ~]# sort uniq_test.txt |uniq -c2 11 2,1 31 3,2 41 61 ab1 abc[root@centos01 ~]# sort uniq_test.txt |uniq -c > r.log
[root@centos01 ~]# sort uniq_test.txt |uniq -c |tee  r.log2 11 2,1 31 3,2 41 61 ab1 abc[root@centos01 ~]# echo "centos" | tr '[c]' '[C]'
Centos
[root@centos01 ~]# echo "centos" | tr '[a-z]' '[A-Z]'
CENTOS
[root@centos01 ~]# echo "centos" | tr 'c' '1'
1entos[root@centos01 t]# ls -lh
total 224K
-rw-r--r--. 1 root root 222K Oct 16 07:55 b.log
[root@centos01 t]# split -b 1000 b.log
[root@centos01 t]# ls
b.log  xap  xbf  xbv  xcl  xdb  xdr  xeh  xex  xfn  xgd  xgt  xhj  xhz  xip
xaa    xaq  xbg  xbw  xcm  xdc  xds  xei  xey  xfo  xge  xgu  xhk  xia  xiq
xab    xar  xbh  xbx  xcn  xdd  xdt  xej  xez  xfp  xgf  xgv  xhl  xib  xir
xac    xas  xbi  xby  xco  xde  xdu  xek  xfa  xfq  xgg  xgw  xhm  xic  xis
xad    xat  xbj  xbz  xcp  xdf  xdv  xel  xfb  xfr  xgh  xgx  xhn  xid
xae    xau  xbk  xca  xcq  xdg  xdw  xem  xfc  xfs  xgi  xgy  xho  xie
xaf    xav  xbl  xcb  xcr  xdh  xdx  xen  xfd  xft  xgj  xgz  xhp  xif
xag    xaw  xbm  xcc  xcs  xdi  xdy  xeo  xfe  xfu  xgk  xha  xhq  xig
xah    xax  xbn  xcd  xct  xdj  xdz  xep  xff  xfv  xgl  xhb  xhr  xih
xai    xay  xbo  xce  xcu  xdk  xea  xeq  xfg  xfw  xgm  xhc  xhs  xii
xaj    xaz  xbp  xcf  xcv  xdl  xeb  xer  xfh  xfx  xgn  xhd  xht  xij
xak    xba  xbq  xcg  xcw  xdm  xec  xes  xfi  xfy  xgo  xhe  xhu  xik
xal    xbb  xbr  xch  xcx  xdn  xed  xet  xfj  xfz  xgp  xhf  xhv  xil
xam    xbc  xbs  xci  xcy  xdo  xee  xeu  xfk  xga  xgq  xhg  xhw  xim
xan    xbd  xbt  xcj  xcz  xdp  xef  xev  xfl  xgb  xgr  xhh  xhx  xin
xao    xbe  xbu  xck  xda  xdq  xeg  xew  xfm  xgc  xgs  xhi  xhy  xio[root@centos01 t]# wc b.log -l
5732 b.log
[root@centos01 t]# split -l 1000 b.log split_file
[root@centos01 t]# ls -lh
total 452K
-rw-r--r--. 1 root root 222K Oct 16 07:55 b.log
-rw-r--r--. 1 root root  44K Oct 16 07:59 split_fileaa
-rw-r--r--. 1 root root  44K Oct 16 07:59 split_fileab
-rw-r--r--. 1 root root  43K Oct 16 07:59 split_fileac
-rw-r--r--. 1 root root  36K Oct 16 07:59 split_filead
-rw-r--r--. 1 root root  35K Oct 16 07:59 split_fileae
-rw-r--r--. 1 root root  23K Oct 16 07:59 split_fileaf
[root@centos01 t]# wc split_fileaa -l
1000 split_fileaa

shell 特殊符号总结二

  • $变量前缀, !$组合, 正则里面表示行尾
  • ; 多条命令写到一行用分号分割
  • ~用户家目录;正则表达式中表示匹配符
  • & 放到命令后面,会把命令丢到后台
  • > >> 2> 2>> &>
  • [] 指定字符中的一个, 例如[0-9]
  • ||和&&, 用于命令之间
[root@centos01 ~]# ls asfasgf.txt || wc -l 1.txt  # 只要有一个命令成功,后面的命令就不会再执行
ls: cannot access asfasgf.txt: No such file or directory
1 1.txt
[root@centos01 ~]# ls asfasgf.txt && wc -l 1.txt  # 只有有一个命令失败,后面的所有命令就不会再执行
ls: cannot access asfasgf.txt: No such file or directory[root@centos01 ~]# [ -d test_dir ] || mkdir test_dir  # test_dir存在,则不会创建;不存在则创建

转载于:https://my.oschina.net/u/996931/blog/2246272

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令相关推荐

  1. 65.shell特殊符号与和cut,sort,wc,uniq,tee,tr,split命令

    liunx的特殊符号 代表字母或者数字 多个 ? 任意一个字符 "#" 注释 \ 脱义字符 | 管道符 1.* 代表任意个任意字符或者数字 [root@localhost /]# ...

  2. shell之常用小工具(sort、uniq、tr、cut)

    目录 一.sort 排序 1.格式 2.常用选项 3.sort 例子 1.不加任何选项 如:sort /etc/passwd 2. 去重 (sort -u) 3. 指定分隔符(-t),指定排序的列(- ...

  3. 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  4. Shell的sort、uniq、tr、cut、命令和 正则表达式

    sort.uniq.tr.cut.正则表达式 一.sort命令 二.uniq命令 三.tr命令 四.cut命令 五.正则表达式 1.基础正则表达式 2.扩展正则表达式 一.sort命令 以行为单位对文 ...

  5. shell正则表达式(cut、sort、uniq、tr、paste)小工具

    目录 一.正则表达式 二.基础正则表达式 三.扩展正则表达式元字符 四.grep命令 1.统计包含某个字符的文本行的行数 2. 不区分大小写查找the所有的行 3.查找特定集合字符 4.查找连续字符范 ...

  6. Shell之常用命令(diff、path、cut、sort、uniq、tr、path)

    Shell之常用命令(diff.cut.sort.uniq.tr.path) diff命令 作用:比较两个文件或目录的不同 diff [options] target1 target2 比较结果读取方 ...

  7. shell脚本详解(七)——正则表达式、sort、uniq、tr

    shell脚本详解(七)--正则表达式.sort.uniq.tr 一.排序命令--sort 1.格式 2.常用选项 3.示例 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三. ...

  8. Shell 编程之正则表达式与文本处理器--(grep,egrep 与文本处理器-sed、awk、sort、uniq、tr)

    文章目录 一.正则表达式 1.1 正则表达式概述 1.1.1 正则表达式的定义 1.1.2 正则表达式用途 1.2 基础正则表达式 1.3 基础正则表达式:grep命令 1.3.1 查找特定字符 1. ...

  9. 排序命令: sort, wc, uniq

    很多时候,我们都会去计算一次数据里头的相同型态的数据总数,举例来说, 使用 last 可以查得这个月份有登陆主机者的身份.那么我可以针对每个使用者查出他们的总登陆次数吗? 此时就得要排序与计算之类的命 ...

  10. sort;uniq;tr命令

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.sort命令 示例1:sort 示例2:sort -n 示例3:sort -r 示例4:sort -u 示例5:s ...

最新文章

  1. java包装_Java基础之神奇的包装类(一)
  2. POJ1552-Doubles
  3. 在SAP中进行黏贴时必须要把之前的数据删掉后才能黏贴,不能直接使用黏贴来覆盖之前的数据,这个怎麼解?
  4. HashMap为什么在多线程下会让cpu100%
  5. 向iGoogle中添加Google日历及其他小工具
  6. 基于python的tensorflow_Python深度学习:基于TensorFlow
  7. hive建表报错JsonSerDe
  8. LintCode—链表求和(167)
  9. android 文件转base64 base64字符串转文件 语音留言及语音播放
  10. 关于长江的题目_高中优秀议论文题目【高中关于长江的作文题目加优秀范文】...
  11. 关于“2021中国隧道与地下空间大会暨中国(城市)地下空间学会(筹)成立大会”的通知
  12. LeetCode 面试题62. 圆圈中最后剩下的数字 详细题解
  13. 文本型数字转化为数值的6个公式
  14. 卡巴斯基杀毒软件被曝出用户上网痕迹泄露漏洞
  15. sctp 编程接口指南
  16. UCI银行营销数据集--数据集不平衡
  17. 下拉框优化威zx78_下拉框优化应到千捷网络下拉系统
  18. 指划王孔小兵:Testin云测助益亲子类APP实现年轻家庭和谐
  19. 2022年金三银四java跳槽面试题100+大全(还不快点收藏)
  20. schnorr签名和batch verification

热门文章

  1. selenium webdriver显示等待时间
  2. 绑定host域名 修改手机hosts域名
  3. 团队项目-个人博客-4.27
  4. java robots协议检测工具
  5. 计算分词的Tf-idf值
  6. 软工大二下半年第十五周学习进度
  7. 我的第一次随笔——胡桂玲
  8. Oracle 故障整理
  9. 走遍中国《中国古镇全集》
  10. 关于function