当前位置: 首页 > news >正文

网站建设经网站是如何建立的

网站建设经,网站是如何建立的,网站自做书本,峨眉住房和城乡建设委员会网站目录 一、awk的由来 二、awk的工作原理 三、awk的基本使用方法 1. 命令行语法 2. 基本语法结构 3. 内置变量 4. 流程控制 四、实战案例 案例1:提取特定列 案例2:条件过滤 案例3:统计与计算 案例4:字符串操作 案例5&am…

目录

一、awk的由来

二、awk的工作原理

三、awk的基本使用方法

1. 命令行语法

 2. 基本语法结构

3. 内置变量

4. 流程控制

四、实战案例

案例1:提取特定列

案例2:条件过滤

案例3:统计与计算

案例4:字符串操作

案例5:数组应用

五、总结


一、awk的由来

1977年,贝尔实验室的 Alfred AhoPeter Weinberger 和 Brian Kernighan 共同开发了 awk 工具。其名称来源于三位开发者姓氏的首字母组合(Aho + Weinberger + Kernighan)。awk 的诞生是为了弥补 grep 和 sed 在处理结构化文本时的不足,提供一种更强大的文本分析和数据处理能力。如今,awk 已成为 Linux/Unix 系统中文本处理的标配工具之一。

二、awk的工作原理

awk 的核心设计思想是 逐行处理文本,其工作流程分为以下步骤:
  1. 读取输入:按行读取文件或标准输入。

  2. 分割记录:将每行按指定的分隔符(默认为空格或制表符)分割成多个字段($1, $2, ..., $n)。

  3. 模式匹配:检查当前行是否匹配预设的“模式”(如正则表达式或条件判断)。

  4. 执行动作:若匹配成功,则执行对应的“动作”(如打印、计算等)。

  5. 循环处理:重复上述过程直到所有行处理完毕。

特殊处理块

  • BEGIN{}:在处理任何行之前执行。

  • END{}:在处理所有行之后执行。

三、awk的基本使用方法

1. 命令行语法

awk [选项] '模式 {动作}' 文件名

常用选项

  • -F:指定字段分隔符(如 -F':' 表示以冒号分隔)。

  • -v:定义变量(如 -v var=value)。

 2. 基本语法结构

# 格式
模式 {动作1;动作2;...
}# 示例:打印包含"error"的行
awk '/error/ {print $0}' log.txt

3. 内置变量

变量描述示例
FS输入字段分隔符BEGIN{FS=":"}
OFS输出字段分隔符BEGIN{OFS="-"}
NR当前处理的行号{print NR, $0}
NF当前行的字段数量{print $NF}(最后一列)
$0整行内容{print $0}
$1第一个字段{print $1}

4. 流程控制

支持 ifforwhile 等结构:

# 示例:计算1~5的平方
awk 'BEGIN{for(i=1; i<=5; i++) print i, i*i}'

四、实战案例

案例1:提取特定列

目标:从 /etc/passwd 中提取用户名(第1列)和Shell类型(第7列)。

awk -F':' '{print $1, $7}' /etc/passwd
# 输出示例:
# root /bin/bash
# daemon /usr/sbin/nologin

案例2:条件过滤

目标:筛选出内存占用超过100MB的进程。

ps aux | awk '$6 > 100*1024 {print $11, $6/1024 "MB"}'
# $6为RSS(内存占用,单位KB),$11为进程名

案例3:统计与计算

目标:统计日志文件中各HTTP状态码出现的次数。

awk '{status[$9]++} END{for(code in status) print code, status[code]}' access.log
# 输出示例:
# 200 3521
# 404 23
# 500 5

案例4:字符串操作

目标:将逗号分隔的CSV文件转换为竖线分隔。

awk 'BEGIN{FS=","; OFS="|"} {$1=$1; print}' data.csv
# $1=$1 用于强制重新格式化输出

案例5:数组应用

目标:计算学生成绩的平均分。

# 输入文件 grades.txt:
# Alice 85 90 78
# Bob 72 88 95
awk '{sum=0; for(i=2; i<=NF; i++) sum+=$i; avg=sum/(NF-1); print $1, avg}' grades.txt
# 输出示例:
# Alice 84.3333
# Bob 85

五、总结

awk 凭借其灵活的字段处理、模式匹配和编程能力,成为文本处理领域的“瑞士军刀”。无论是日志分析、数据清洗,还是快速计算,awk 都能以极简的代码高效完成任务。结合 grep 和 sed,三者共同构成Shell脚本中不可或缺的文本处理工具链。

通过掌握 awk 的核心语法和内置变量,用户可以在日常工作中大幅提升数据处理效率。尝试用 awk 替代繁琐的手动操作,体验命令行艺术的魅力吧!

http://www.cadmedia.cn/news/5672.html

相关文章:

  • 动画视频制作网站是怎么优化推广的
  • php做的网站有哪些百度小说排行榜2020
  • 免费网络电视直播在线观看武汉seo
  • 藁城住房和城乡建设局网站外贸营销型网站
  • 安全网站建设情况热搜在哪里可以看
  • i深圳网站建设seo求职信息
  • 国外校园网站建设青岛网络seo公司
  • 深圳网站建设最专外贸营销网站
  • 河南城乡建设委员会的网站seo网络搜索引擎优化
  • 上海做网站开发的公司推广引流图片
  • 教师进修学校网站建设方案如何做网络推广赚钱
  • 独立站怎么运营淘宝店铺推广
  • 西安公司建设网站优秀企业网站模板
  • 网络营销推广的优缺点aso优化费用
  • 网站建设的公司推荐公司企业网站开发
  • 电商类网站建设合同书线上推广的方式
  • 昆山教育平台网站建设青岛网络优化哪家专业
  • 重庆茶叶网站建设百度竞价推广效果怎么样
  • 佛山禅城网站建设网络营销的策划流程
  • 中山专业网站建设模板代理seo商城
  • 做网站还要数据库吗产品如何推广市场
  • 网站建设海报设计怎么样做免费的百度seo
  • 网站维护要做哪些工作百度seo分析工具
  • 动态网站需要的技术为seo搜索优化服务
  • 个人网页设计说明500字快速seo整站优化排行
  • 做可转债好的网站2024年2月新冠疫情又开始了吗
  • 南通seo招聘优化网站链接的方法
  • 雅安网站建设宁波seo如何做推广平台
  • 怀化疫情最新数据沈阳百度seo
  • 网站工程就业前景手机优化大师