设为首页 收藏本站
查看: 974|回复: 0

shell 特殊符号介绍

[复制链接]

尚未签到

发表于 2018-8-18 07:13:13 | 显示全部楼层 |阅读模式
8.10 shell特殊符号&cut命令
特殊符号

  •   “*” 代表零个或多个字符
  •   “?” 代表一个字符
  •   “#” 注释符号
  •   “\” 脱意符号
  •   “|” 管道符
  •   “$” 该符号与“!”合用“!$”表示上一条命令中的最后一个变量
  •   “;” 分隔符,在一行中运行两个及两个以上的命令时使用
  •   “~” 用户的家目录(root用户“/root”,普通用户“/home/username”)
  •   “&” 如果想把一条命令直接放到后台运行的话,可以在命令行加上这个符号(通常用于运行时间非常长的命令)
  •   “[]” 中括号中间为字符组合,代表中间字符中的任意一个。
cut命令
  cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。
  说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
  语法: cut -d ‘分隔符’ [-cf] n [filename] (这里n是正整数)
  -d:指定分隔符号
  -f:指定第几段
  -c:后面只有一个数字表示截取第几个字符;后面跟一个数字区域,表示截取从几到几(该选项不和d,f共同使用)
[root@adai003 tmp]# cut -c1 1.txt |head -n2r  
b
  
[root@adai003 tmp]# cut -c1,3 1.txt |head -n2ro
  
bn
  
[root@adai003 tmp]# cut -f1,3 -d ':' 1.txt |head -n2root:0bin:1[root@adai003 tmp]# cut -f1-3 -d ':' 1.txt |head -n2root:x:0bin:x:1
8.11 sort、wc、uniq命令
sort命令
  sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
  语法: sort [-t 分隔符] [options] [filename]
  Options:
  -t:指定分隔符
  -n:使用纯数字排序(系统默认所有字母为0)
  -r:反向排序
  -u:=unique 去重复
  -kn1,n2:由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序(n1 < n2)
  sort不加任何选项,则从首字符向后,依次以ASCⅡ码值进行比较,最后将它们按升续输出。
[root@adai003 tmp]# head -n3 1.txtroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin[root@adai003 tmp]# head -n3 1.txt |sortbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinroot:x:0:0:root:/root:/bin/bashwc命令
  wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数。
  语法: wc [options] [filename]
  Options:
  -l:=line 统计行数
  -m:=member 统计字符数
  -w:=Word 统计词数
[root@adai003 tmp]# wc -l !$wc -l 2.txt2 2.txt  
[root@adai003 tmp]# wc -m 2.txt10 2.txt
  
[root@adai003 tmp]# cat !$cat 2.txt1234qwer
  
[root@adai003 tmp]# cat -A 2.txt1234$qwer$[root@adai003 tmp]# wc -w 2.txt4 2.txt
  
[root@adai003 tmp]# cat 2.txt1234 456 789,10qwer
  说明: wc -m会统计文件内所有字符,包括隐藏的换行符“&”;wc -w是以空格作为分隔符进行词组统计的。
uniq命令(unique)
  uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用(即:去重复)。
  语法: uniq [options] [filename]
  Options:
  -c:=count 在每列旁边显示该行重复出现的次数
[root@adai003 tmp]# cat !$cat 2.txt1234456 789,101234qwer456[root@adai003 tmp]# uniq -c 2.txt  
      1 1234
  
      1 456 789,10
  
      1 1234
  
      1 qwer      1 456[root@adai003 tmp]# sort 2.txt |uniq -c
  
      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer
  说明: 直接使用uniq命令,2.txt内容显示并没有变化,使用sort排序后再用uniq命令,重复行被合并,即:在对文件进行去重之前需要先进行排序!
8.12 tee、tr、split命令
tee命令
  tee命令用于将数据重定向到文件,会删除文件内原有内容,与“>”不同的是,tee会把定向的文件内容显示出来。
  语法: tee [options] [filename]
  Options:
  -a:向文件中重定向时使用追加模式(=“>>”)
[root@adai003 tmp]# cat 3.txt00000000000[root@adai003 tmp]# sort 2.txt |uniq -c |tee 3.txt  
      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer
  
[root@adai003 tmp]# cat 3.txt
  
      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer
  
      [root@adai003 tmp]# sort 2.txt |uniq -c |tee -a 3.txt
  
      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer
  
[root@adai003 tmp]# cat 3.txt
  
      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer      2 1234
  
      1 456
  
      1 456 789,10
  
      1 qwer
tr命令
  tr命令可以对来自标准输入的字符进行替换、压缩和删除,它可以将一个字符变成另一个字符,也可以将一组字符变成另一组字符。
  语法: tr [源字符] [目标字符]
[root@adai003 tmp]# echo &quot;adailinux&quot; |tr 'a' 'A'AdAilinux   替换一个字符  
[root@adai003 tmp]# echo &quot;adailinux&quot; |tr '[al]' '[AL]'AdAiLinux   替换多个字符
  
[root@adai003 tmp]# echo &quot;adailinux&quot; |tr '[a-z]' '[A-Z]'ADAILINUX
split命令
  split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
  语法: split [options] [filename]
  -b:指定每一输出档案的大小,默认单位为 byte,可自定义单位,如 split -b 100M filename
  -l:指定每一个输出档案的行数多少
  eg1: 指定大小
[root@adai003 tmp]# split -b 100 1.txt[root@adai003 tmp]# lsxaaxabxacxad[root@adai003 tmp]# rm -rf x*[root@adai003 tmp]# split -b 100 1.txt adai.  
可以指定文件前缀![root@adai003 tmp]# lsadai.aa adai.abadai.acadai.ad
  eg2: 指定行数
[root@adai003 tmp]# wc -l 1.txt20 1.txt  
[root@adai003 tmp]# split -l 5 1.txt[root@adai003 tmp]# lsxaa
  
xab
  
xac
  
xad
  
[root@adai003 tmp]# wc -l x*
  
  5 xaa  5 xab  5 xac  5 xad 20 总用量
8.13 shell特殊符号(下)
  命令连接符: “||”、“&&”、“;”

  •   command1 ; command2 : 不管command1是否执行成功都会执行command2
  •   command1 && command2 : 只有command1执行成功后才会执行command2
  •   command1 || command2 : 表示command1执行成功后,command2不执行,否则执行command2



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-553204-1-1.html 上篇帖子: shell脚本创建文件 下篇帖子: SHELL-tnd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表