Linux基础学习(11)--Shell编程
2024-10-11 17:43:30
第十一章——Shell编程
一.基础正则表达式
1.正则表达式与通配符(*,?,[ ]):
2.基础正则表达式:
二.字符截取命令
1.cut字段提取命令:
空格分割时,不知道空格有多少个,无法分割行数,grep -v取反
2. printf命令(严格说不是字符提取命令,搭配awk使用):
printf不能用于直接输出文件内容或用管道符接受上一句的输出,它会把文件当成字符串输出。
注:Linux系统无print命令,只有printf,print只能在awk命令里使用。
3.awk命令:(默认能识别的分割符是制表符和空格)
注:$0表示一行本身,$1表示文件第一列,awk外是单引号,{}里是双引号
注:print自动在后面加一个换行符,printf不会
BEGIN在数据处理之前执行一次
END在数据处理之后执行一次
FS指定分割符,第一列没有分割(默认为空格),先读入后分割
加一个BFGIN在数据处理之前先指定分割符
进行条件筛选
4. sed命令:
可以从管道符接受数据进行修改,可以直接修改命令的结果(而vim不可以)
不加-n会先输出第二行然后输出所有行,一般和-n联立使用输出指定行
在第一行后追加
在行前插入
注:不改变原文件,只修改输出,要修改原文件加-i,加-i时无输出,直接修改了原文件,有一定危险性(最好修改用vim)
不加行号全文找
三.字符处理命令
1.排序命令sort:
2.统计命令wc:
四.条件判断
1.按照文件类型进行判断:
2.按照文件权限进行判断:
3.两个文件之间进行比较:
4.两个整数之间比较:
5.字符串的判断:
注:[ ]中括号两边有空格,否则会报错,还有==两边也有空格,不然一直为True输出yes
6.多重条件判断:
五.流程控制
1. if语句:
(1)单分支if条件语句:
例子:判断分区使用率:
(2)双分支if条件语句:
例子2:判断apache是否启动
(3)多分支if条件语句:
2. case语句:
3. for循环:
更利于系统的维护和管理
4. while循环:
注:shell脚本语言(所见即所得)写的所有的脚本都不需要编译就可以直接运行,不是不需要编译,是在执行的同时进行编译,简化了编译过程。好处是编译更加简单,坏处是效率要更慢(主要工作是帮助管理员进行重复操作或运维工作)。
最新文章
- gif jpg bmp png的区别
- 临时存存储页面上的数据---Web存储
- iOS原生APP与H5+JS交互////////////////////zzzz
- eclipse提高效率 MAC
- Python基础3- 变量与数字
- ArcGIS如何将表连接到空间数据上
- CoreAnimation-07-CAAnimationGroup
- MFC学习 多线程
- 在MySQL中使用init-connect与binlog来实现用户操作追踪记录
- 隐式Intent实例
- 【玩转开源】BananaPi R2 —— 第一篇 Openwrt安装
- SpringBoot使用注解实现事务管理
- Windows 安装JDK
- vivo怎么录屏 手机录制屏幕详细教程
- jmeter使用Beanshell预处理器从指定列表中获取随机值
- Python的Django
- 关于byte[]与string、Image转换
- ie6兼容性处理
- 如何学习OpenStack
- 【朱-刘算法】【最小树形图】hdu6141 I am your Father!
热门文章
- [matlab] 4.M函数
- ASP.NET MVC]WebAPI应用支持HTTPS的经验总结
- hive 压缩 差不多出来数据 各种压缩 数据格式
- 【css】max-height,min-height,height一起使用时,优先级问题
- 动态二维数组赋值及for循环遍历和toString遍历
- 淡旺季机票的价格问题(switch语句与if-else语句嵌套)
- easyui的浮动panel不跟随所在页面一起滚动的问题
- VBS弹出来的对话框如何置顶!--果然技巧
- BZOJ 5467 Slay the Spire
- Java获取文件Content-Type的四种方法