如何使用 awk(有时)删除列的第一个字符?

sig*_*l11 4 awk text-processing

我运行一个命令并将其通过 awk 进行管道传输,如下所示:

mycommand | awk '{print $1,tolower($3),$4}

这给了我以下输出:

fred.o: t .abcdefg 
fred.o: u .rstuvwxy 
fred.o: t .defghi 
fred.o: t .jklmnop 
fred.o: d abcdefg 
fred.o: d zyxwvuts 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有时第三列包含一个前导“.”。但不总是。

如何修改我的awk命令以摆脱领先的“。” 在第三列中是否存在?例如,我希望我的输出看起来像这样:

fred.o: t abcdefg  
fred.o: u rstuvwxy  
fred.o: t defghi  
fred.o: t jklmnop  
fred.o: d abcdefg  
fred.o: d zyxwvuts  
Run Code Online (Sandbox Code Playgroud)

Nyk*_*kin 7

mycommand | awk '{sub(/^\./, "", $4);print $1,tolower($3),$4}'
Run Code Online (Sandbox Code Playgroud)