awk的-F参数可以指定新的记录分隔符,有些时候可能需求指定多个分隔符,比如下面的内容

width:720 height:360

如果需要取出width和height后面的值的话,一般大家会这样做,即做两次awk操作

# echo "width:720 height:360" | awk '{print $1;print $2}' | awk -F: '{print $2}'
720
360

其实呢,通过在awk中指定两个记录分隔符(空格和:),即可一次性的提取出width和height后面的值,在awk中支持多个记录分隔符的写法如下

# echo "width:720 height:360" | awk -F'[ :]' '{print $2,$4}'
720 360

不过,一般像下面这样写,多一个加号表明将连续出现的记录分隔符当做一个来处理

# echo "width:720 height:360" | awk -F'[ :]+' '{print $2,$4}'
720 360

可以尝试在height前面再增加一个空格,各位可以自己去命令行下尝试下

# echo "width:720  height:360" | awk -F'[ :]' '{print $2,$4}'
720 height
# echo "width:720  height:360" | awk -F'[ :]+' '{print $2,$4}'
720 360

注意:

在awk中,当记录分隔符指定为空字符串时,awk会将多个连续的空白看做一个单一的记录分隔符。此外,awk还会忽略开头和结尾处的空白。

awk支持正则表达式形式的记录分隔符,你可以改成其它的正则表达式来进行测试。上面虽然介绍了awk中使用多个记录分隔符的写法,但是这些记录分隔符都是单个字符,如果记录分隔符是个字符串怎么办呢?

之前说过,awk支持正则表达式形式的记录分隔符,那就写个正则表达式就好,比如要指定分隔符为one和two

# echo "i have two apples and one banana" | awk -F'one|two' '{for(i=1;i<=NF;i++)print i,"="$i}'
1 =i have
2 = apples and
3 = banana

linux awk 多分隔符相关推荐

  1. Linux常用基本命令:三剑客命令之-awk输入输出分隔符

    输入分隔符,英文原文为field separator,此处简称为FS,默认是空白字符(即空格),awk默认以空白字符为分隔符对每一行进行分割. 输出分割符,英文原文为output field sepa ...

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

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

  3. linux print不换行符,awk print 分隔符_awk print 不换行_awk print『』

    Linux 命令大全 AWK是一种处理文本文件的语言,是一个强大的文本探讨工具. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Ker ...

  4. linux awk语法格式,Awk是什么?一文带运维小白快速掌握Linux Awk用法

    原标题:Awk是什么?一文带运维小白快速掌握Linux Awk用法 作者:a8 Awk.sed与grep,俗称Linux下的三剑客,它们之间有很多相似点,但是同样也各有各的特色,相似的地方是它们都可以 ...

  5. linux awk命令详解,使用system来内嵌系统命令,批量github,批量批下载视频, awk合并两列...

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  6. 文本处理利器Linux Awk这样入门☛常见变量的使用

                                Linux awk常见变量初识案例 声明与简介 简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具.awk通常用来处理结构化(固定 ...

  7. Linux awk编辑器及命令

    Linux awk编辑器及命令 一.awk编辑器 1.工作原理 2.命令格式 3.awk常见的内建变量如下所示: 二.按行输出文本 三.按字段输出文本 四.通过管道.双引号调用 Shell 命令 一. ...

  8. 在Linux里awk与sed的区别,linux awk和sed讲解

    sed 工具简介 在了解了一些正规表示法的基础应用之后,再来呢?呵呵-两个东西可以玩一玩的,那就是 sed 跟 awk 了! 这两个家伙可是相当的有用的啊!举例来说,鸟哥写的 logfile.sh 分 ...

  9. linux awk菜鸟教程,Linux awk 命令

    Linux awk 命令 AWK是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian K ...

最新文章

  1. python+selenium浏览器常用操作(一)
  2. AI志愿超强攻略|中国高校AI专业最全院校排名课程对比(附链接)
  3. 函数动态传参详细,作用域和名称空间,global和nonlocal
  4. 组合数据类型练习,英文词频统计实例9-21
  5. RoR开发环境搭建 RAILS install log
  6. 关于SQL Tuning的知识体系
  7. SAP OData请求是如何通过OData Plugin路由到OData Offline Data Store的
  8. C语言试题九十之实现输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
  9. Python3 —— 逗号分隔值CSV
  10. python效率低为什么_为什么 Python 这么慢?
  11. 「代码随想录」听说背包问题很难? 这篇总结篇来拯救你了
  12. 【登陆设计】-【技术上】你会做WEB上的用户登录功能吗?
  13. 时间序列数据的正态性检验
  14. mysql的填充因子_SQL SERVER索引原理及填充因子
  15. 石油大学个人训练赛(一)补题----问题 D: 卡片
  16. 不知道虚拟化?看这篇就够了!
  17. 用Python写一个桌面便签(每日计划本)
  18. XShell免费版安装配置使用教程(保姆级)
  19. 05【数据的备份与恢复】
  20. AI行业分析与面试指南

热门文章

  1. 微信生成带参数的二维码,合成海报,扫码后推送小程序?
  2. CTF---Web入门第十二题 程序逻辑问题
  3. Python调用MySQL模块初试
  4. 颈椎病2句话就能治疗好,你也试试看,一学就会!
  5. fail2ban防止暴力破解
  6. HDU2425:Hiking Trip(简单bfs,优先队列实现)
  7. 关于ORACLE RAC心跳问题的释疑
  8. ubuntu12.04编译android4.0源代码Deug2
  9. nginx 配置的server_name参数(转)
  10. 今天有了意外收获,原来还可以这样提交数据的