四、shell编程四剑客
sed的使用
使用vim在打开的文件中替换内容
:%s/168/134/g #把文件中的所有168替换为134
在文件外部替换文件中的内容
sed -i 's/192.168/192.134/g' list.txt #把list.txt文件中的'192.168'替换为'192.134' #如不加-i 就是预修改 不会更改到文件
在每一行的最开始添加一个空格
sed -i 's/^/& /g' list.txt #'^'表示行首
在每行的末尾添加一个123,包括空行
sed 's/$/&123/g' list.txt #'$'表示行尾
在匹配串下一行添加字符
sed '/dest/a #####' list.txt #在'dest'字符的下一行添加字符'#####' 'a'表示下一行
在匹配串的上一行添加字符
sed '/src/i #####' list.txt #在'src'字符的上一行添加字符'#####' 'i'表示上一行
打印包含匹配串的行
sed -n '/dest/p' list.txt #打印匹配'dest'的行 'p'表示打印
打印指定行
sed -n '1p' list.txt #打印第一行 sed -n '1,2p' list.txt #打印1,2行 sed -n '1,4p' list.txt #打印1到4行
对一个文件中的数字进行排序
对下面这些数字进行排序,并输出最大值和最小值
3232 533 646456 656 546 543345453 66 64 23 343242 646 665 654 65 76 7676 765 44 33 23 2
cat sort.txt | sed 's/ /\n/g' | grep -v '^$' | sort -nr | sed -n '1p;$p' # '1p'表示第一个 '$p'表示最后一个 # grep -v 表示不匹配 此处的 grep -v '^$' 表示不匹配空行
输出结果
grep的使用
grep '^3' sort.txt #匹配以3开头的行
grep '3$' sort.txt #匹配以3结尾的行
grep '^5' sort.txt | grep '3$' #匹配以5开头,以3结尾的行
grep '[a-z]' list.txt #匹配包含字母a-z的行
grep匹配真实ip
匹配下列内容中的真实ip
192.168.150.
192.168.150.29
192.168
192
192.168.150.1234
使用命令
cat ip.txt | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}$'
egrep匹配多个
egrep "14|15" list.txt
#同时匹配包含 14 或 15 的行
awk的使用
打印某一列
cat ip.txt | awk "{print $2}" #打印第二列 以空格分隔
打印/etc/passed文件中的用户名
cat /etc/passwd | sed 's/:/ /g' | awk '{print $1}' #把':'号替换为空格 再打印第一列cat /etc/passwd | awk -F: '{print $1}' # -F参数指定分割符 # print $NF 表示最后一列
查看根目录磁盘的使用率
df -h | grep '/$' | awk '{print $5}' | sed 's/%//g'
find的使用
#查找根目录下所有名字为list.txt的文件
find / -name list.txt#查找当前目录下名字为list.txt的文件
find . -name list.txt#只查找一级目录
find . -maxdepth 1 -name list.txt#查找当前目录下类型为文件并且以.sh结尾的文件
find . -maxdepth 1 -type f -name '*.sh'#查找今天修改过的 .sh 文件
find . -maxdepth 1 -type f -name '*.sh' -mtime -1#查找一天前修改过的 .txt 文件
find . -maxdepth 1 -type f -name '*.txt' -mtime 1#查找文件并拷贝到指定目录下
find . -maxdepth 1 -name '*.sh' -mtime 1 -exec cp {} /tmp/ \;#查找指定大小的文件
find . -maxdepth 1 -type f -size 2k
四、shell编程四剑客相关推荐
- shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)
一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合. ...
- Shell编程四剑客之AWK(基础篇)
Shell 编程四剑客之 AWK 概述 其语法参数格式为,AWK 常用参数.变量.函数详解如下: (1) AWK 基本语法参数详解: (2) AWK 内置变量详解: (3) AWK 内置函数详解: ( ...
- linux 程序实验总结,Linux实验报告(实验四) shell编程实验
实验四 shell编程实验(二) 班级:姓名:学号:上机时间:年月日 任课教师:实验教师:实验成绩: 一.实验目的 综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程. 二.实验注意 ...
- 实验四 Shell编程
一.实验目的 1.掌握shell环境变量.管道.输入输出重定向使用方法: 2.掌握shell脚本建立和执行方法: 3.掌握shell脚本的基本结构: 4.掌握基本的shell编程方法. 二.实验环境: ...
- shell编程四剑客之awk
1.awk简介 awk是一个优良的文本处理工具,Linux及UNIX环境中现有的功能最强大的数据处理引擎之一,以Aho.Weinberger.Kernighan三位发明者名字首字母命名为awk,awk ...
- Linux的shell编程(四)
六.bash程序的调试 在编程过程中难免会出错,有的时候,调试程序比编写程序花费的时间还要多,shell程序同样如此. shell程序的调试主要是利用bash命令解释程序的选择项.调用bash的形式是 ...
- SHELL编程之三剑客
操作系统三剑客命令 基础知识 正则符号 基础正则符号: ^ 以什么开头的信息进行匹配----- ^oldboy $ 以什么结尾的信息进行匹配----- oldboy$ ^$ 表示匹配空行信息 . 匹 ...
- SHELL编程(介绍)
前言 说到shell编程,很多从事Linux运维工作的朋友都不陌生,都对shell有基本的了解,读者可能刚开始接触shell的时候,有各种想法,感觉编程非常困难,但shell编程是所有编程语言中最容易 ...
- linux实验三shell程序设计,实验三 LINUX SHELL编程
精选文库 -实验三LINUX SHELL 编程 四.实验内容 本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术.内容如下: 1.创建以下菜单程序: USER ...
最新文章
- [Java 并发] Java并发编程实践 思维导图 - 第一章 简单介绍
- 利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码
- MYSQL创建多张表,相同表结构,不同表名
- Bech32编码 (4)地址验证示例
- access数据库为什么一直登陆_为什么要养成用Access数据库保存数据的习惯?
- calendar.getinstance()获取的是什么时间_时间管理技能培训.ppt
- Java经典设计模式 总览
- 11.微服务设计 --- 规模化微服务
- windows下视频捕捉VFW和DirectShow
- android youtube webview,java - Android 6中的android webview youtube视频在全屏模式下出现问题 - 堆栈内存溢出...
- 山西计算机专业三本大学排名,2021山西三本院校排名 最新大学排行榜
- 选型宝访谈:AI时代,如何重新定义客服软件?
- 宾果消消乐和宾果消消消_《宾果消消消》攻略之关卡障碍介绍
- From.Designer.cs和From.cs的关系
- IT行业人才招聘回顾与展望
- 2015年职称计算机考试宝典,2015年度职称计算机考试宝典.doc
- OpenWRT 添加第三方库
- ptcms自动采集小说系统电脑版+手机版源码免费下载
- 添加本地jar包到maven仓库报401和405错误
- 旅游电车(cogs 1175)