awk默认的分隔符是空格,但是这种描述实际上是不精确的,awk的分隔符其实分为两种:
* 输入分隔符,也就是field separator,简称FS,默认为空格
* 输出分隔符,也就是output field separator,简称OFS,也就是awk将每行分割后,输出在屏幕上以什么字符作为分隔。
## 输入分隔符
我们可以指定"#"作为输入分隔符
```
awk -F# '{print $1,$2}' test
```
除了使用-F选项,我们还可以设定内部变量的方式,指定awk的输入分隔符,比如
~~~
awk -v FS='#' '{print $1,$2}' test
~~~
## 输出分隔符
输出分隔符的意思就是当要对处理完之后的文本进行输出的时候,以什么符号作为分隔符。
~~~
awk -v OFS='###' '{print $1,$2}' test1
~~~
我们也可以同时指定输入分隔符和输出分隔符
~~~
awk -v OFS='##' -v FS='---' '{print $1,$2}' test
~~~
因为输出分隔符默认是空格,但是如果我们想让两列合并在一起显示,应该如何做?
~~~
awk '{print $1 $2}' test
或者
awk '{print $1$2}' test
~~~
也就是不加逗号