位置: 编程技术 - 正文

使用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)

  • 关于办理退税手续的通知
  • 买车要交哪些税收
  • 劳务报酬个人所得税怎么计算
  • 发票验旧日期是什么意思
  • 未出资到位的股东
  • 建筑综合税率包含企业所得税吗
  • 企业所得税必须计提吗?什么时候计提?
  • 住宿发票税点为什么有6%和3%的区别
  • 公司变更地址后需要去开户银行变更
  • 研发支出期末需要结转吗
  • 滞纳金按什么比例算
  • 计提个人部分保险
  • 企业的财务报表
  • 销售单用途商业预付卡是否可能涉嫌诈骗
  • 企业开普票和专票的税率一样吗
  • 物业费纳税
  • 差额征税可以享受1%
  • 公司注销了帐户钱能办款
  • 收到赔材料赔付款怎样做账?
  • 补充医疗保险报销流程
  • 用银行存款缴纳上月所得税分录
  • 待报解地方预算收入怎么做账
  • 代扣代缴增值税附加税减免政策
  • 收到财政扶贫补贴会计分录
  • 差额银行承兑汇票
  • 员工福利专票分录
  • 电脑添加小工具
  • 电脑软件如何开机自启动
  • 生产经营所得投资者减除费用季度申报填吗
  • 房屋租赁进项税
  • 报税时漏报进项怎么办
  • 以前年度收入如何确认收入
  • pytorch :OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading 【已解决】
  • 阿伦河在哪
  • php生成微信二维码
  • 乐吾实验学校网站
  • php floor
  • vue的路由守卫有哪些钩子函数
  • 2022年 change detection遥感图像变化检测 论文附代码
  • 滤波方案
  • ai与自动化有什么区别
  • 小型微利企业减按25%计算应纳税所得额
  • 魔改是啥
  • 在建工程明细科目有土地使用权摊销吗
  • 汇兑损益是资产类科目
  • 企业年报分析的内容包括哪些方面
  • 将织梦dedecms转换到wordpress
  • python copyto
  • 受托代销商品的成本结转
  • sql数据库转换mysql
  • 接受捐赠的增值税计入会计利润吗
  • 土地使用权转让法律规定
  • 其他应收款收不回来怎么写情况说明
  • 以前年度损益调整结转到哪里
  • 材料成本差异的含义
  • 政府发的奖金需要交个税吗
  • 免费样品销售给客户怎么入账
  • 公司办公室租金
  • 当月工资总额如何计算
  • 季度末需要结转本年利润吗
  • 收到增值税专用发票会计科目
  • 工业企业发生的各项费用都应计入产品成本对不对
  • 企业收到的应收票据应按什么作为入账金额
  • windows提示滑动以关闭电脑
  • liunx系统常用命令
  • win7鼠标间歇性卡顿一两秒
  • linux模块的概念
  • windows保护电脑
  • win10账户登录闪退
  • 向量上面有个倒着的v
  • es6 commonjs
  • js提交表单,如果为空出现红色文字
  • 用注册表更改用户名后无法登陆
  • shell定时删除指定目录下的文件夹
  • android开发从入门到精通(项目案例版)
  • 北京市朝阳区地图
  • 上善若水 宁静致远,适合小学标语吗?
  • 自建房交契税需要什么
  • 上海市浦东新区人民医院
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设