使用Awk删除空格

RJ *_*ies 2 awk nis centos

我有一个文件形式:

Firstname LastName; 123-4567; Job Title
    Firstname LastName;   123-4567;      Job Title
Firstname LastName;      123-4567; Job Title
...
Run Code Online (Sandbox Code Playgroud)

我试图使用awk将文件解析为makedbm可读的形式(以制作自定义NIS映射).字段分隔符是分号.我需要能够从每行的每个字段中删除所有前导空格,但在名称字段和标题字段中留下空格.谢谢.

jay*_*ngh 5

如果你想删除leading space from all fields并保留space in between the Names and Job title fields当时你可以做这样的事情 -

awk -F";" -v OFS=";" '{for (i=1;i<=NF;i++) gsub (/^ */,"",$i);print}' INPUT_FILE
Run Code Online (Sandbox Code Playgroud)

测试:

[jaypal:~/Temp] cat file
Firstname LastName; 123-4567; Job Title
    Firstname LastName;   123-4567;      Job Title
Firstname LastName;      123-4567; Job Title

[jaypal:~/Temp] awk -F";" -v OFS=";" '{for (i=1;i<=NF;i++) gsub (/^ */,"",$i);print}' file
Firstname LastName;123-4567;Job Title
Firstname LastName;123-4567;Job Title
Firstname LastName;123-4567;Job Title
Run Code Online (Sandbox Code Playgroud)