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

输出分割符,英文原文为output field separator,此处简称为OFS,awk将每行分割后,输出在屏幕上的时候,awk默认的输出分割符也是空格。

1,用F选项,指定输入分隔符

ghostwu@dev:~/linux/awk$ cat ghostwu.txt
ghostwu--man
zhangsan--woman
lisi--woman
ghostwu@dev:~/linux/awk$ awk '{print $1, $2, $3}' ghostwu.txt
ghostwu--man
zhangsan--woman
lisi--woman

如果不指定分隔符,默认用空格,是不能切割ghostwu-20-man 这一行的 每一列的

ghostwu@dev:~/linux/awk$ awk -F- '{print $1, $2, $3}' ghostwu.txt
ghostwu man
zhangsan woman
lisi woman

F指定'-'为分隔符,同理,先利用sed把ghostwu.txt分割符变成#,然后再用awk的F选项指定分隔符#来进行切割

ghostwu@dev:~/linux/awk$ sed -i 's/\-/#/g' ghostwu.txt
ghostwu@dev:~/linux/awk$ cat ghostwu.txt
ghostwu##man
zhangsan##woman
lisi##woman
ghostwu@dev:~/linux/awk$ awk -F# '{print $1, $2, $3}' ghostwu.txt
ghostwu man
zhangsan woman
lisi woman

也可以使用内置变量FS 配合-v选项指定输入分隔符

ghostwu@dev:~/linux/awk$ awk -v FS='#' '{print $1, $2, $3}' ghostwu.txt
ghostwu man
zhangsan woman
lisi woman

而-F,就是options的一种,用于指定输入分隔符。

-v也是options的一种,用于设置变量的值。

2,使用OFS指定输出分隔符,OFS是内置变量,配合v选项一起使用

ghostwu@dev:~/linux/awk$ cat ghostwu.txt
ghostwu##man
zhangsan##woman
lisi##woman
ghostwu@dev:~/linux/awk$ awk -v FS='#' '{print $1, $2, $3}' ghostwu.txt
ghostwu man
zhangsan woman
lisi woman
ghostwu@dev:~/linux/awk$ awk -v FS='#' -v OFS='--->' '{print $1, $2, $3}' ghostwu.txt
ghostwu--->--->man
zhangsan--->--->woman
lisi--->--->woman

注意的在输出列的时候,列与列之间要用逗号,如果不用逗号,就变成连接在一起输出

ghostwu@dev:~/linux/awk$ awk -v FS='#' -v OFS='--->' '{print $1 $2 $3}' ghostwu.txt
ghostwu20man
zhangsan22woman
lisi23woman
ghostwu@dev:~/linux/awk$

Linux常用基本命令:三剑客命令之-awk输入输出分隔符的更多相关文章

  1. Linux常用基本命令:三剑客命令之-sed

    sed是一个很强大的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作 格式:sed [option] [command] [file] 常用命令: a   ∶新 ...

  2. Linux常用基本命令(less)

    转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...

  3. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  4. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  5. Linux中使用sed命令或awk命令修改常规配置文件

    一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...

  6. Linux 常用的压缩命令有 gzip 和 zip

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...

  7. Linux常用基本命令:三剑客命令之-awk基础用法

    awk是一个超级强大的文本格式化处理工具,他与grep, sed命令被成为linux 三剑客命令 三剑客命令的特点: grep:只要用来匹配和查找文本 sed: 编辑匹配到文本 awk: 格式化文本, ...

  8. Linux常用的基础命令总结

    man 查看英文命令帮助   可以看作--help 拷贝目录的命令cp -a  包含所有 ls -a 显示所有文件包括隐藏文件  -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...

  9. Linux常用97条命令

    1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a  列出包括.a开头的隐藏文件的所有文件 -A  通-a,但不列出"."和".." -l  ...

随机推荐

  1. django创建上下文

    在app中创建context_processes.py(可以是别的名字),然后加载到settings里,这样所有的网页都可以传入变量 from .models import User def app0 ...

  2. CASUAL_NCT

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  3. idea集成tomcat

    1 Tomcat的使用 * Tomcat:web服务器软件 1. 下载:http://tomcat.apache.org/ 2. 安装:解压压缩包即可. * 注意:安装目录建议不要有中文和空格 3. ...

  4. 如何在cygwin中运行crontab定时脚本[利刃篇]

    用到cygwin,自然是希望能多处理一些类似linux的任务了,那就自然少不了定时任务crontab,看到网上教程不少,自己运行一个测试却也不那么容易,下面就记录我的安装过程,以供参考吧! 1.首先, ...

  5. Zabbix-3-自定义脚本获取数据

    通过在agent中加入脚本,来获取数据,生成图形

  6. Shell-18--正则表达式

    a*  a出现0或任意次,没有意义,会全输出

  7. Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded

    1 开发环境 Ubuntu16.04(64bit) 2 错误描述 安装好Vim的TagList插件后,打开Vim提示: 3 解决方法 根据参考资料[1]的提示,可知那是因为当前系统没有安装ctags导 ...

  8. python中使用for循环,while循环,一条命令打印99乘法表

    用for循环打印九九乘法表: 1 2 3 4 5 6 for i in range (1,10):     for j in range(1,10):         print(j,"x& ...

  9. linux系统学习方法分享

    初学者可以自己安装虚拟机,然后把 linux 常用命令例如 cd.ls.chmod.useradd.vi 等等多练习几十遍,把自己敲打命令的熟练程度提升上来.然后根据文档搭建 Linux 下常见的各种 ...

  10. LeetCode--No.003 Longest Substring Without Repeating Characters

    Longest Substring Without Repeating Characters Total Accepted: 167158 Total Submissions: 735821 Diff ...