位置: 编程技术 - 正文

使用awk输出文本中的字段和列的方法(awk结果输出到文件)

编辑:rootadmin

推荐整理分享使用awk输出文本中的字段和列的方法(awk结果输出到文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:awk输出空格,awk 输出行数,awk输出的内容保存到文本,awk 输出行数,awk输出变量,awk输出文件名,awk输出文件名,awk输出文件,内容如对您有帮助,希望把文章链接给更多的朋友!

首先我们要知道,awk 能够自动将输入的行,分隔为若干字段。每一个字段就是一组字符,它们和其他的字段由一个内部字段分隔符分隔开来。

如果你熟悉 Unix/Linux 或者懂得 bash shell 编程,那么你应该知道什么是内部字段分隔符(IFS)变量。awk 中默认的 IFS 是制表符和空格。

awk 中的字段分隔符的工作原理如下:当读到一行输入时,将它按照指定的 IFS 分割为不同字段,第一组字符就是字段一,可以通过 $1 来访问,第二组字符就是字段二,可以通过 $2 来访问,第三组字符就是字段三,可以通过 $3 来访问,以此类推,直到最后一组字符。

为了更好地理解 awk 的字段编辑,让我们看一个下面的例子:

例 1:我创建了一个名为 tecmintinfo.txt 的文本文件。

# vi tecmintinfo.txt

# cat tecmintinfo.txt

在 Linux 上创建一个文件

然后在命令行中,我试着使用下面的命令从文本 tecmintinfo.txt 中输出第一个,第二个,以及第三个字段。

$ awk '//{print $1 $2 $3 }' tecmintinfo.txt

TecMint.comisthe

从上面的输出中你可以看到,前三个字段的字符是以空格为分隔符输出的:

字段一是 “TecMint.com”,可以通过 $1 来访问。 字段二是 “is”,可以通过 $2 来访问。 字段三是 “the”,可以通过 $3 来访问。

如果你注意观察输出的话可以发现,输出的字段值并没有被分隔开,这是 print 函数默认的行为。

为了使输出看得更清楚,输出的字段值之间使用空格分开,你需要添加 (,) 操作符。

$ awk '//{print $1, $2, $3; }' tecmintinfo.txt

TecMint.com is the

需要记住而且非常重要的是,($) 在 awk 和在 shell 脚本中的使用是截然不同的!

在 shell 脚本中,($) 被用来获取变量的值。而在 awk 中,($) 只有在获取字段的值时才会用到,不能用于获取变量的值。

例 2:让我们再看一个例子,用到了一个名为 my_shoping.list 的包含多行的文件。

使用awk输出文本中的字段和列的方法(awk结果输出到文件)

No Item_Name Unit_Price Quantity Price

1 Mouse #, 1 #,

2 Monitor #, 1 #,

3 RAM_Chips #, 2 #,

4 Ethernet_Cables #, 4 #,

如果你只想输出购物清单上每一个物品的单价,你只需运行下面的命令:

$ awk '//{print $2, $3 }' my_shopping.txt

Item_Name Unit_Price

Mouse #,

Monitor #,

RAM_Chips #,

Ethernet_Cables #,

可以看到上面的输出不够清晰,awk 还有一个 printf 的命令,可以帮助你将输出格式化。

使用 printf 来格式化 Item_Name 和 Unit_Price 的输出:

$ awk '//{printf "%-s %s/n",$2, $3 }' my_shopping.txt

Item_Name Unit_Price

Mouse #,

Monitor #,

RAM_Chips #,

Ethernet_Cables #,

总结

使用 awk 过滤文本或字符串时,字段编辑的功能是非常重要的。它能够帮助你从一个表的数据中得到特定的列。一定要记住的是,awk 中 ($) 操作符的用法与其在 shell 脚本中的用法是不同的!

在Linux上使用VirtualBox的命令行管理界面的方法讲解 VirtualBox拥有一套命令行工具,你可以使用VirtualBox的命令行界面(CLI)对远程无界面的服务器上的虚拟机进行管理操作。在这篇教程中,你将会学到如何在

Linux怎么安装迅雷极速版? Linux好用的下载工具比较少,本文将帮你在Ubuntu、Fedora等Linux上安装迅雷下载。软件名称:迅雷会员尊享版V2.0..简体中文绿色免费版软件大小:.5MB

Linux基金会官网公布最佳Linux发行版名单详解 Linux基金会官网Linux.com公布了一个引起争议的最佳Linux发行版名单:系统管理员的最佳发行版ParrotLinux;最佳轻量级发行版LXLE;最佳桌面发行版ElementaryOS

标签: awk结果输出到文件

本文链接地址:https://www.jiuchutong.com/biancheng/361956.html 转载请保留说明!

上一篇:在Linux上使用GNU sed的方法(linux-gnu)

下一篇:在Linux上使用VirtualBox的命令行管理界面的方法讲解(linux virtio)

  • 暂时进出境货物和暂准进出境货物
  • 国外收到怎么说
  • 投资性房地产在非货币性资产交换怎么处理
  • 金税盘电子发票怎么读入
  • 劳务什么情况下会多扣税
  • 一般纳税人需要申报什么税
  • 小微企业增值税起征点是多少
  • 水泥销售成本怎么算
  • 应交增值税出口退税贷方余额
  • 公司注销取不到采购发票怎么汇算清缴?
  • 工会经费有关的增值税能否抵扣?
  • 年终所得税汇算提示成本费用与实际取得发票有差异
  • 个人所得税申报错误如何更正申报
  • 0申报逾期罚款
  • 500万以下固定资产最新政策
  • 分支机构能否随总机构认定为一般纳税人
  • 车辆违章罚款怎么入账
  • 工程款的材料商可以直接起诉业主吗
  • 滴滴开的发票能否抵扣进项税
  • 支付给外单位的押金是其他应收款吗
  • 测测网络
  • vmware11安装win10
  • 苹果iphone6s plus打电话没有人名
  • 劳务派遣公司的作用
  • dgservice.exe是什么
  • 俄勒冈州邮编
  • 职工福利费会计科目走管理费用
  • win10不关机设置方法
  • php扩展ffmpeg教程
  • 发票章盖的不清楚可以在旁边再盖一个吗
  • 企业的罚款支出指企业的行政罚款
  • uniapp云打包收费
  • 增值税申报表期初未缴税额
  • 信息技术服务所得税税负率多少
  • 安装php5.6
  • 非货币性资产交换和债务重组的区别
  • 水利建设基金申报
  • 增值税纳税申报实训心得体会
  • Ubuntu上安装jdk
  • 应收票据贴现的会计处理
  • 在建工程什么情况下算竣工
  • sql server数据库中的null(空值)
  • 什么是企业年金险
  • 刚成立公司没有发生业务,如何申报企业所得税
  • 员工欠薪怎么办
  • 股东往来款算投资款吗
  • 合并企业如何缴纳印花税
  • 税费的审计
  • 财政补助资金是什么意思
  • 购买银行理财产品的几个必须知道
  • 生产成本的主要构成要素
  • 农业合作社成本有哪些
  • 年度的汇算清缴
  • 商业承兑汇票到期不兑付怎么办
  • sql you
  • windows如何创建桌面快捷方式
  • ubuntu系统管理
  • 怎么在mac上看电视剧
  • linux 根目录
  • Win7系统重装后鼠标键盘不能用怎么办
  • windows10不能装windows7
  • linux命令光标移动到末尾
  • js如何使用
  • jquery简单例子
  • 每天看30分钟手机可以吗
  • jqueryvalidate验证
  • css中列表样式
  • 网页设计需要多少分辨率
  • jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
  • node.js deno
  • 使用BMFont+NGUI利用图片制作自定义字体
  • android技术总结
  • python文字检测
  • python怎么在网上赚钱
  • 电子税务局数字证书未检测到证书
  • 黄金税率是多少
  • 国税发票打印汇总怎么弄
  • 新疆地方税务局举报电话
  • 公司租商铺
  • 专家咨询费包括哪些内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设