awk 分隔符使用

Awk 不打印第一列的内容
history | grep tsh | awk '{$1=""; print $0}'

行输入分隔符RS,默认为换行符,表示一行一行读取,遇到\n停止。 为空时 按照段落读取。表示一次性读取的数据。
行输出分隔符 OFS,默认也是换行符,表示一行一行输出。

输入列分隔符 -F, 也可使用内置变量 -v FS
输出分隔符 使用内置变量 -v OFS FS

#awk 取出ifconfig 中的第一段
ifconfig | awk 'BEGIN {RS="\n\n"} NR==1 {print}'

FS:指定读取文本时,所使用的行分隔符,默认为 空格,相当于awk的—F选项
OFS:指定输出的分隔符,默认为空白字符;

[root@wei awk]# head -n 1 /etc/passwd | awk -F: '{print $1,$7}'
root /bin/bash

#FS模式
[root@wei awk]# head -n 1 /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$7}'
root /bin/bash

#OFS模式
[root@wei awk]# head -n 1 /etc/passwd | awk -F: 'BEGIN{OFS="---"}{print $1,$7}'
root---/bin/bash

#模式混合
[root@wei awk]# head -n 1 /etc/passwd | awk 'BEGIN{FS=":";OFS="---"}{print $1,$7}'
root---/bin/bash
posted @ 2022-08-02 09:32  风风羊  阅读(908)  评论(0编辑  收藏  举报