搜索
首页 电脑/网络 软件 系统软件

Linuxshell编程之awk与sed如何使用?

Linuxshell编程之awk与sed如何使用?

全部回答

2017-07-27

46 0
    1。 awk的使用 基本功能:在文件或字符串中基于指定规则浏览和抽取信息。awk抽取信息後,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件信息。 调用方式: 1。
   命令行方式 2。 将所有awk命令插入一个文件,并使awk程序可执行,然后使awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。   3。 将所有的awk命令插入一个单独文件,然后调用。
   选项说明:-F 域符号 缺省为空格 -f 指明awk脚本 2。 模式和动作 1。 任何awk语句都由模式和动作组成。在一个awk脚本中可能有许多语句。 模式部分决定动作语句何时触发及触发事件。
  模式缺省为执行状态。   处理即对数据进行的操作。 2。 模式可以是任何条件语句或复合语句或正则表达式。 3。 模式包括两个特殊字段BEGIN和END。 域和记录 域标识:$1,$2,…,$n。
  用逗号做域分隔。$0表示所有域。 打印域或所有域:print命令 注:当碰到awk错误时,可相应查找: 1。   确保整个awk命令用单引号括起来 2。 确保命令内所有引号成对出项 3。
   确保用花括号括起动作语句,用圆括号括起条件语句 4。 不要忘记使用花括号 条件操作符 ~ 匹配正则表达式 !~ 不匹配正则表达式 内置变量: NF:每一条记录中域名数 是将变量$PWD的返回值传入awk并显示其目录。
     可以利用NF获取文件名 注:但这里指定域分隔符为/ NR:记录个数 Linux shell编程之sed用法 1。 是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。
   2。 通过行号或正则表达式指定要改变的文本行 3。 sed不与初始文件打交道,而只与它的一个拷贝打交道,如果操作结果没有重定向到一个文件,那么将输出到屏幕。   调用方式: a。
   命令行方式 b。 将sed命令插入脚本文件中,然后调用sed c。 将sed命令插入脚本文件中,使得脚本文件为可执行。 保存sed输出 重定向到一个新文件 > sed中定位文本的方式 x 一行号 x,y 行号范围 /pattern/ 查询包含模式的行 /pattern/pattern/ 查询包含两个模式的行 /pattern/,x 在指定行号上查询匹配模式的行 x,/pattern/ 通过行号和模式查询匹配行 x,y! 查询不包含行号x,y的行 sed编辑命令 p 打印文本 匹配元字符$前,必须使用反斜线\ = 打印行号 使用-e选项 如果既打印行号又打印匹配行,必须使用两个sed命令,并使用-e选项 附加文本 使用符号a\ ,可以指定文本一行或多行附加到指定行。
    若不指定文本放置位置位置,sed缺省放置在每一行后面。 创建sed脚本文件 创建脚本文件,第一行为: #!/bin/sed -f ----注 说明sed命令解释行。脚本在这一行查找sed以运行命令,这里定位在/bin 插入文本:在指定行前面插入,它也只接受一个地址。
     删除文本:d 替换命令用替换模式替换指定模式 使用sed实现的一个重要功能是在另一个系统中下载的文件中剔除控制字符。 1。 使用s/-*//g删除横线----- 2。
   使用/^$s/d删除空行 3。 使用$d删除最后一行 4。 使用1d删除第一行 5。 使用awk{print $1}打印第一列。  。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报