本文主要向你们介绍了Linux运维知识之awk,分隔符编辑截取字符,通过详细的内容向你们展现,希望对各位学习Linux运维知识有所帮助。

输入数组分隔符:awk的内嵌数组FS中储存了输入数组分隔符的值。使用FS的默认值时,awk用括号或制表符来分割字段,并且删除各字段前多余的括号或制表符。可以通过在BEGIN语句中或命令行上数组来改变FS的值。接下来我们还要在命令行上帮FS指定一个新的值。在命令行上改变FS的值必须使用-F选项,后面指定代表新分隔符的数组。

从命令行改变数组分隔符:范例中演示了怎样使用-F选项在命令行中改变输入数组分隔符。

$ cat employeesTom Jones:4424:5/12/66:543354Mary Adams:5346:11/4/63:28765Sally Chang:1654:7/22/54:650000Billy Black:1683:9/23/44:336500$ awk -F: '/Tom Jones/{print $1,$2}' employeesTom Jones 4424

说明:-F选项用来在命令行重新修改输入数组分隔符的值。当冒号紧跟在-F选项的前面时,awk 就会在文件中查找冒号,用以分隔字段。

使用多个数组分隔符:你可以选定多个输入数组分隔符。如果有多个数组被用于泛型分隔符FSawk print 分隔符,则FS对应是一个正则表达式字符串,并且被括在方括号中。下面的范本中,字段分隔符是括号、冒号或制表符。

$ awk -F'[ :\t]' '{print $1,$2,$3}' employeesTom Jones 4424Mary Adams 5346Sally Chang 1654Billy Black 1683

说明:-F选项后面和了一个位于方括号中的正则表达式,当遇到空格、冒号或制表符时awk print 分隔符,awk会把它当作字段分隔符。这个通配符两头加了逗号,这样就不会被shell当成自己的元字符来解释(注意, shell使用方括号来进行文件名扩展)。

输出数组分隔符:默认的输出数组分隔符是单个空格,被储存于awk的内置函数OFS中。此前的所有实例中,我们都是用print语句把输出打印到屏幕上。因此,无论OFS如何修改,print语句中用于分割字段的逗号,在输出时都被转化成OFS的值。如果用OFS的默认值,则$1和$2之间的逗号会被转化为单个空格,print函数打印这两个字段时会在他们之间加一个空格。

如果没有用引号来分隔字段,则输出结果中的字段将堆在一起。另外,OFS的值可以改变。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-134685-1.html

linux 字符分隔符,Linux运维知识之awk,分隔符编辑截取字符相关推荐

  1. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍

    本文主要向大家介绍了Linux运维知识之linux下java版本管理工具jenv使用介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 不同的项目使用的java版本不同,每次切 ...

  2. linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额

    本文主要向大家介绍了Linux运维知识之为Linux MySQL数据库设置磁盘限额,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 因为MySQL数据库本身没有磁盘限额的功能,我 ...

  3. linux awk命令根据分隔符输出,Linux运维知识之Linux awk命令详解

    本文主要向大家介绍了Linux运维知识之Linux awk命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. awk :适用程序,一种unix工具 就是一个强大的文本分析工 ...

  4. linux维护rpm 数据库,Linux运维知识之linux rpm命令详细介绍

    本文主要向大家介绍了Linux运维知识之linux rpm命令详细介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 虽然现在N多人都使用yum去替代rpm了,但是rpm在一些 ...

  5. 游戏运维linux,Linux运维知识之Linux的10个游戏

    本文主要向大家介绍了Linux运维知识之Linux的10个游戏,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称 ...

  6. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...

    本文主要向大家介绍了Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题,通过具体的内容向大家展现,希望对大家学习Linux运维知 ...

  7. linux ospf 命令,Linux运维知识之linux下使用quagga配置ospf协议

    本文主要向大家介绍了Linux运维知识之linux下使用quagga配置ospf协议,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 环境:三台redhat6.5(VM虚拟机)一 ...

  8. linux crontab不运行,Linux运维知识之解决Linux中crontab不执行ntpdate问题

    本文主要向大家介绍了Linux运维知识之解决Linux中crontab不执行ntpdate问题,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 解决Linux中crontab尚未 ...

  9. linux cp 目录不存在自动创建,Linux运维知识之Linux:复制并创建目标目录,如果它不存在...

    本文主要向大家介绍了Linux运维知识之Linux:复制并创建目标目录,如果它不存在,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 我需要一个命令(或者可能是cp的一个选项)来 ...

最新文章

  1. 【Linux就该这么学 20期培训笔记 02】新手必须掌握的 Linux 命令
  2. MaxCompute助力北斗大数据,千寻位置3秒实现厘米级定位
  3. 基于SSH实现模特人才招聘网站
  4. 操作系统实验报告15:进程同步与互斥线程池
  5. Spring项目中的Netflix Archaius属性
  6. idea .defaultMessage
  7. 郎朗钢琴课独家上线知乎 手把手带你开启钢琴之路
  8. 三年制专转本计算机,三年制专转本和五年制专转本的区别
  9. [转载] python3文档字符串_python3基础:字符串、文本文件
  10. linux网络子系统分析(一)——协议栈分层实现综述
  11. 如何从wireshark 抓包中的RTP导出 H.264 PAYLOAD,变成可用暴风直接播放的H264 裸码流文件
  12. matlab gui界面设计 打开文件,matlab GUI界面设计 点击按钮加载.mat数据的所有变量到工作空间中...
  13. win10系统网卡驱动异常,错误代码56
  14. win10安装Visual Studio 2019失败
  15. ChinaMode评选:2010最受瞩目的45个初创公司/产品
  16. 【Java学习002】Java-ArrayList源码解析
  17. management.endpoints.web.exposure.include
  18. 仿真(Simulation)
  19. 关于morden c++ design中的kdl问题(singleton)的解决
  20. jsp+ssh2+mysql实现的CRM客户关系管理系统

热门文章

  1. stm32 TFTLCD驱动原理(一)
  2. 人工智能概览及AI数学基础
  3. 2023最新网络工程毕业设计题目大全
  4. 解决eclipse的 Invalid project description. overlaps the location of another project: 问题
  5. ROS + UDEV管理开源小车rikirobot的USB设备
  6. 常耀俊老师经典《从管理走向领导——管理者卓越领导力塑造课》课程
  7. 宝岛眼镜ERP上线的经验和教训
  8. 计算机主板的英文,电脑主板英文标识是什么意思?不同的标识各代表什么功能?...
  9. mysqldump 备份数据库
  10. txt的数据导入excel中身份证或银行卡显示成科学计数如何解决