AWK:从字符串/字段中删除所有空格

时间:2020-01-09 10:45:53  来源:igfitidea点击:

如何解析以下文本文件:

# example.net config

user = www30021

group = ftp30020

uid = 30021

gid = 30020

tmp_path = /netapp42/shared/www/images/host.example.com/tmp.bin

tmp_perms = defaults,nodev,nosuid,noexec

jail = on

location = /jails/apache/h/host.example.com/

sftp = on

ftps = off

php-cgi = on

perl-cgi = off

如何找出每个字段的值,并从该字段中删除任何空格/空白。
如何在Linux或者Unix等操作系统下使用awk解决此问题?
使用以下语法读取每个字段并将其显示在屏幕上:awk -F'Field-Separator-Here''/Field-Name-Here/{print $2}'/path/to/input/file

在此示例中,为字段用户读取值,执行:

awk -F'=' '/user/{ print "|"  "|"}' foo.conf

示例输出(注意空白):

| www30021  |

要除去所有不需要的空格,请执行:

awk -F'=' '/user/{gsub(" |\t","",print "|"  "|"); print }' filename

示例输出(注意空白):

|www30021|

最后,awk语句将如下所示:

awk -F'=' '/user/{gsub(" |\t","",print  ); print }' filename