awk的模式

在awk 中,匹配模式处于非常重要的地位,它决定着匹配模式后面的操作会影响到哪些文本行。 awk
的匹配模式主要包括关系表达式、正则表达式、混合模式, BEGIN 模式以及 END 模式等。
1 )关系表达式
awk 提供了许多关系运算符,例如大于>、小于<或者等于 == 等。 awk 允许用户使用关系表达式作为匹
配模式,当某个文本行满足关系表达式时,将会执行相应的操作。
[root@localhost test11] # cat file
liming 80
wangmei 70
zhangsan 90
lisi 81
[root@localhost test11] # awk '$2 > 80 {print}' file
zhangsan 90
lisi 81
2 )正则表达式
awk 支持以正则表达式作为匹配模式,与 sed 一样,用户需要将正则表达式放在两条斜线之间,其基本语
法如下: /regular_expression/
[root@localhost test11] # awk '/^l/{print}' file
liming 80
lisi 81
[root@localhost test11] # awk '/^l|z/{print}' file
liming 80
zhangsan 90
lisi 81
3 )混合模式
awk 不仅支持单个的关系表达式或者正则表达式作为模式,还支持使用逻辑运算符 && || 或者 ! 将多个
表达式组合起来作为一个模式。其中, && 表示逻辑与, || 表示逻辑或, ! 表示逻辑非。
[root@localhost test11] # awk '/^l/ && $2>80 {print}' file
lisi 81
4 )区间模式
awk 还支持一种区间模式,也就是说通过模式可以匹配一段连续的文本行。区间模式的语法如下:
pattern1, pattern2
其中, pattern1 pattern2 都是前面所讲的匹配模式,可以是关系表达式,也可以是正则表达式等。当
然,也可以是这些模式的混合形式。
[root@localhost test11] # awk '/^liming/,$2==90 {print}' file
liming 80
wangmei 70
zhangsan 90
5 BEGIN 模式
[root@localhost test11] # cat 1.sh
#!/bin/awk -f
BEGIN {print "hello,world" }
[root@localhost test11] # ./1.sh
hello,world
[root@localhost ~] # awk -F: 'BEGIN {printf "%-15s %-3s
%-15s\n","user","uid","shell"} $3==0,$7~"nologin" {printf "%-15s %-3s
%-15s\n",$1,$3,$7}' /etc/passwd
6 END 模式
[root@localhost test11] # cat 2.sh
#! /bin/awk -f
BEGIN {
print "scores report"
print "================================="
}
{ print }
END {
print "================================"
print "printing is over"
}
[root@localhost test11] # ./2.sh file
scores report
=================================
liming 80
wangmei 70
zhangsan 90
lisi 81
================================
printing is over
[root@localhost ~] # awk -F: 'BEGIN {printf "%-15s %-3s
%-15s\n","user","uid","shell"} $3==0,$7~"nologin" {printf "%-15s %-3s
%-15s\n",$1,$3,$7} END {print "-----End file-----"}' /etc/passwd
### 如何在 Eclipse IDE 中创建 Maven 项目 #### 创建Maven 项目 为了在Eclipse中启动一个新的Maven项目,用户应当通过菜单栏选择`File > New > Project...`随后从新建项目向导里挑选`Maven > Maven Project`[^2]。 #### 设置项目结构和配置 一旦选择了Maven项目选项之后,可以选择是否要基于预设的模板来初始化项目。如果希望手动控制pom.xml的内容,则应取消勾选“Create a simple project (skip archetype selection)”这一项以便能够浏览可用的archetype列表并从中做出选择。Archetypes是用于快速搭建特定类型的Maven项目的骨架代码生成器。 #### 编辑POM文件 对于每一个新的Maven项目而言,核心配置都保存于Project Object Model(POM)文件即`pom.xml`之中。此文件包含了关于项目及其依赖关系的信息。编辑该文件可定义诸如版本号、打包方式以及所需库等属性。例如: ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 基本信息 --> <groupId>com.example</groupId> <artifactId>maven-demo-project</artifactId> <version>1.0-SNAPSHOT</version> <!-- 打包类型,默认为jar --> <packaging>jar</packaging> <!-- 属性定义 --> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- 依赖管理 --> <dependencies> <!-- 添加所需的第三方库依赖 --> </dependencies> </project> ``` #### 构建与运行项目 完成上述步骤后即可利用内置工具或命令行执行mvn clean install指令来进行编译测试及安装操作。这一步骤将会依据所设定的目标平台自动处理源码转换成字节码的过程,并将产物放置至本地仓库供后续使用。 #### 更改JRE设置 有时默认关联的JRE可能不符合需求,这时可以通过右键点击项目名称->Properties->Java Build Path->Libraries节点下的JRE System Library条目上的Edit按钮来自由切换至其他已安装好的JDK版本[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值