shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用(下)

简介: shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用

7. paste工具


paste工具用于合并文件行


常用选项:-d:自定义间隔符,默认是tab-s:串行处理,非并行


##8. tr工具


tr用于字符转换,替换和删除;主要用于删除文件中控制字符或进行字符转换


语法和选项

语法:


用法1:命令的执行结果交给tr处理,其中string1用于查询,string2用于转换处理#commands|tr'string1''string2'用法2:tr处理的内容来自文件,记住要使用"<"标准输入#tr'string1''string2'<filename用法3:匹配string1进行相应操作,如删除操作#troptions'string1'<filename


常用选项:


-d删除字符串1中所有输入字符。-s删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串


常匹配字符串:


字符串 含义 备注

a-z或[:lower:] 匹配所有小写字母 [a-zA-Z0-9]

A-Z或[:upper:] 匹配所有大写字母

0-9或[:digit:] 匹配所有数字

[:alnum:] 匹配所有字母和数字

[:alpha:] 匹配所有字母

[:blank:] 所有水平空白

[:punct:] 匹配所有标点符号

[:space:] 所有水平或垂直的空格

[:cntrl:] 所有控制字符 \f Ctrl-L 走行换页

\n Ctrl-J 换行

\r Ctrl-M 回车  

\t Ctrl-I tab键  


举例说明:


[root@MissHoushell01]#cat3.txt自己创建该文件用于测试ROOT:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinboss02:x:516:511::/home/boss02:/bin/bashvip:x:517:517::/home/vip:/bin/bashstu1:x:518:518::/home/stu1:/bin/bashmailnull:x:47:47::/var/spool/mqueue:/sbin/nologinsmmsp:x:51:51::/var/spool/mqueue:/sbin/nologinaaaaaaaaaaaaaaaaaaaabbbbbb111111122222222222233333333cccccccchelloworld888666777999#tr-d'[:/]'<3.txt删除文件中的:/#cat3.txt|tr-d'[:/]'删除文件中的:/#tr'[0-9]''@'<3.txt将文件中的数字替换为@符号#tr'[a-z]''[A-Z]'<3.txt将文件中的小写字母替换成大写字母#tr-s'[a-z]'<3.txt匹配小写字母并将重复的压缩为一个#tr-s'[a-z0-9]'<3.txt匹配小写字母和数字并将重复的压缩为一个#tr-d'[:digit:]'<3.txt删除文件中的数字#tr-d'[:blank:]'<3.txt删除水平空白#tr-d'[:space:]'<3.txt删除所有水平和垂直空白




小试牛刀

使用小工具分别截取当前主机IP;截取NETMASK;截取广播地址;截取MAC地址

#ifconfigeth0|grep'Bcast'|tr-d'[a-zA-Z ]'|cut-d: -f2,3,410.1.1.1:10.1.1.255:255.255.255.0#ifconfigeth0|grep'Bcast'|tr-d'[a-zA-Z ]'|cut-d: -f2,3,4|tr':''\n'10.1.1.110.1.1.255255.255.255.0#ifconfigeth0|grep'HWaddr'|cut-d: -f2-|cut-d' '-f400:0C:29:25:AE:54#ifconfigeth0|grep'HW'|tr-s' '|cut-d' '-f500:0C:29:B4:9E:4E#ifconfigeth1|grepBcast|cut-d: -f2|cut-d' '-f1#ifconfigeth1|grepBcast|cut-d: -f2|tr-d'[ a-zA-Z]'#ifconfigeth1|grepBcast|tr-d'[:a-zA-Z]'|tr' ''@'|tr-s'@'|tr'@''\n'|grep-v^$#ifconfigeth0|grep'Bcast'|tr-d [:alpha:]|tr'[ :]''\n'|grep-v^$#ifconfigeth1|grepHWaddr|cut-d' '-f11#ifconfigeth0|grepHWaddr|tr-s' '|cut-d' '-f5#ifconfigeth1|grepHWaddr|tr-s' '|cut-d' '-f5#ifconfigeth0|grep'Bcast'|tr-d'a-zA-Z:'|tr' ''\n'|grep-v'^$'



将系统中所有普通用户的用户名、密码和默认shell保存到一个文件中,要求用户名密码和默认shell之间用tab键分割

#grep'bash$'passwd|grep-v'root'|cut-d: -f1,2,7|tr':''\t'|teeabc.txt


二、bash的特性


##1、命令和文件自动补全


Tab只能补全命令和文件 (RHEL6/Centos6)


##2、常见的快捷键


^c终止前台运行的程序^z将前台运行的程序挂起到后台^d退出等价exit^l清屏^a|home光标移到命令行的最前端^e|end光标移到命令行的后端^u删除光标前所有字符^k删除光标后所有字符^r搜索历史命令


##3 、常用的通配符(重点)


*:  匹配0或多个任意字符?:  匹配任意单个字符[list]: 匹配[list]中的任意单个字符,或者一组单个字符   [a-z]
[!list]: 匹配除list中的任意单个字符{string1,string2,...}:匹配string1,string2或更多字符串#rm-ffile*#cp*.conf/dir1#touchfile{1..5}


##4、bash中的引号(重点)


双引号"" :会把引号的内容当成整体来看待,允许通过$符号引用其他变量值

单引号’’ :会把引号的内容当成整体来看待,禁止引用其他变量值,shell中特殊符号都被视为普通字符

反撇号`` :反撇号和$()一样,引号或括号里的命令会优先执行,如果存在嵌套,反撇号不能用

[root@MissHoudir1]#echo"$(hostname)"server[root@MissHoudir1]#echo'$(hostname)'$(hostname)
[root@MissHoudir1]#echo"hello world"helloworld[root@MissHoudir1]#echo'hello world'helloworld[root@MissHoudir1]#echo$(date+%F)
2018-11-22[root@MissHoudir1]#echo`echo$(date+%F)`2018-11-22[root@MissHoudir1]#echo`date+%F`2018-11-22[root@MissHoudir1]#echo`echo`date+%F``date+%F[root@MissHoudir1]#echo$(echo`date+%F`)
2018-11-22


相关文章
|
19天前
|
Shell Linux 数据处理
Shell文本处理秘籍:掌握这11种工具,让数据处理如虎添翼!
在Linux信息环境,文本数据处理是一项基础而重要的技能。对于广大Linux用户而言,掌握Shell环境下的文本处理工具不仅能提高工作效率,还能在面对复杂数据时游刃有余。 本文将介绍,那些在文本处理中不可或缺的`11`种命令工具,让数据处理技能更上一层楼。
|
1月前
|
Shell Linux C语言
|
1月前
|
Shell 网络安全 UED
|
3月前
|
弹性计算 运维 Shell
基于Shell的灵活配置管理工具
【4月更文挑战第30天】
50 1
|
3月前
|
弹性计算 运维 监控
|
3月前
|
搜索推荐 算法 Java
sort-06-shell sort 希尔排序算法详解
这是一个关于排序算法的系列文章摘要。文章汇总了各种排序算法,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序以及大文件外部排序。特别地,希尔排序是一种改进的插入排序,通过使用不同的步长对元素进行分组排序,以提高效率。算法最终以较小的步长进行排序,接近线性时间复杂度。文章还提供了Java代码实现,并举例说明了希尔排序的过程。所有内容可在开源项目[https://github.com/houbb/sort](https://github.com/houbb/sort)中找到。
|
3月前
|
网络协议 Unix Shell
第十一章 Shell常用命令与工具(二)
第十一章 Shell常用命令与工具(二)
|
3月前
|
移动开发 Shell Linux
第十一章 Shell常用命令与工具(一)
第十一章 Shell常用命令与工具(一)
|
3月前
|
运维 Shell Python
第七章 Shell文本处理三剑客之grep
第七章 Shell文本处理三剑客之grep
|
3月前
|
监控 数据可视化 Unix
自用的Linux命令高效的4个shell替代工具
这篇文章介绍了几个用于提升Unix系统终端体验的替代工具。首先提到了`oh-my-zsh`,然后重点推荐了三个命令行工具:1) `htop`和`btop`作为`top`命令的增强版,提供更丰富的进程监控视图;2) `duf`作为`df`命令的替代,以更整洁的界面显示磁盘空间使用情况;3) `eza`(原`exa`)和`bat`,这两个工具为`ls`和`cat`命令提供了颜色高亮和更好的文件查看体验。这些工具旨在使终端操作更加直观和愉快。
53 0