shell编程入门步步高(九、sed和awk)

简介:
正则表达式
 
一个点(.)代表一个字符。
比如:.a. 代表3个字符,中间一个字符是a,两边各一个任意字符。
比如:... 代表3个任意字符。
若要匹配点(.)本身,则使用转义字符。
比如:my\... 代表my.后接两个字符。
 
行首匹配^
行尾匹配$
 
[...] 代表字符串中的一个字符。
比如:[abc] 代表a或b或c中的任意一个字符。
比如:[Mm]y 代表My或者my。
 
^出现在[]里,代表“非”
比如:[^a]代表不是a
 
*代表前面的字符有0个或者0个以上
比如:a*b代表ab或aab或aaab等。
 
\{...\}代表制定符合的个数。
比如:\{1,5\}代表前面的字符有1-5个。
 
Sed
sed基本语法:sed '样式' 文件
样式中,使用// 代表寻找,比如1,5代表第一到第五行,/aaa/,/bbb/ 表示作用范围从aaa的行到bbb的行。
例子:
sed '1,4d' file 指的是把第一到第四行删除。
sed '/aaa/d' file 指的是把还有aaa的那行删除。
sed '/[0-9]\{3\}/d' file 指的是把还有3个数字的行删除。
sed '/^$/d' file 指的是把空白行删除。
sed '/aaa/!d' file 指的是把不含有aaa行的删除。
sed '/aaa/p' file 指的是把含有aaa的行显示出来。
sed -n '/aaa/p' file 指的是把含有aaa的行显示出来,同时显示行号。
 
使用sed取代字符
例子:
sed 's/aaa/bbb/p' file 将bbb取代aaa,只取代一次。
sed 's/aaa/bbb/pg' file 将bbb取代aaa,全部取代。
sed 's/aaa//p' file 将aaa删除,只删除一次。
sed 's/^...//' file 将每行的前3个字符删除。
sed 's/...$//' file 将每行的后3个字符删除。
 
sed -n 's/\(a\)/\1b/p' file 找到第一个a然后替换成ab。
 
awk
awk '/aa/' file 显示含有aa的行。
awk '{print $1, $2}' file 显示第一第二字段。
awk '/aa/{print $1, $2}' file 将含有aa的行的第一和第二个字段显示出来。
awk -F: '/^root/{print $1, $2}' /etc/passwd 指定:为分隔符,打印第一和第二字段。
awk -F: 'BEGIN{OFS="+++"}'/^root/{print $1, $2} /etc/passwd 以:为分隔符,打印第一和第二段,而且彼此用+++分开。









本文转自 justiceplus 51CTO博客,原文链接:http://blog.51cto.com/johnwang/327154,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
19天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
1月前
|
Shell
Shell编程(下)
Shell编程(下)
88 1
|
1月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
40 1
|
1月前
|
Shell Linux 开发工具
|
1月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
66 12
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
2月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
449 2
|
2月前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
45 12