awk 中 用“||“ 作为分隔符的方法

1). awk的多字符分隔符: 

awk通常只支持单字符的分隔符,但gawk 支持多字符作为分隔符;

在linux下,awk是gawk的的符号链接文件,因此支持多字符作为分隔符;


2). awk 表示分隔符的方法:

     a). awk的选项: -F ‘分割字符’

     b). awk的全局变量:FS        # Field Separator

     c). awk的默认的分隔符:是空白符包括: 空格、制表符、换行符: 


3). 用法:

       1). 打印系统中各个用户使用的shell:       

                 

 cat /etc/passwd | awk -F : '{ print $1, $7}'
 或者:  

cat /etc/passwd | awk 'BEGIN{ FS = ":"; } {print $1, $7}'

        2). 多字符分隔符: 

[zhongbo.wzb@v132170 ~]$ echo "abcdef" | awk -F cd '{print $1, $2}'
ab ef


        3). 多种字符作为分隔符:

[zhongbo.wzb@v132170 ~]$ echo "abcdefg" | awk -F [bdf] '{print $1, $2, $3, $4}'
a c e g

   4).  特殊的多字符分隔符: ||     

[[email protected] ~]$ echo "abc||def||hij" | gawk -F'\\|\\|' '{print $1, $2, $3}'
abc def hij
[[email protected] ~]$ echo "abc||def||hij" | gawk -F'\\\|\\\|' '{print $1, $2, $3}'
gawk: warning: escape sequence `\|' treated as plain `|'
abc def hij
[[email protected] ~]$ echo "abc||def||hij" | gawk -F'\\|\\|' '{print $1, $2, $3}'
abc def hij
[[email protected] ~]$ echo "abc||def||hij" | gawk -F"\\|\\|" '{print $1, $2, $3}'
gawk: warning: escape sequence `\|' treated as plain `|'
abc||def||hij
[[email protected] ~]$ echo "abc||def||hij" | gawk -F"\\\|\\\|" '{print $1, $2, $3}'
abc def hij
[[email protected] ~]$ echo "abc||def||hij" | gawk -F"\\\\|\\\\|" '{print $1, $2, $3}'
abc def hij

 

你可能感兴趣的:(Linux)