使用awk,消除文件中的任何空字段并以适当的格式打印

时间:2016-01-22 09:32:35

标签: bash awk

如何在名为“awk.txt”的以下文件中使用awk,并以适当的空间长度或标签长度打印所有字段。

foreach($yourarrray as $value)
{
 echo $value->reqcount;
}

我想在此使用awk并以下列正确格式打印。

# cat /root/awk.txt
abc hij     klm
 def  pqr   hij
mmm fgf     hgt
  yyt   ghf   jkw

请帮助!!

2 个答案:

答案 0 :(得分:1)

使用coreutils的column命令:

column -t file

在这种特殊情况下,所有条目都具有相同的长度,以下awk命令也可以执行此操作,但即使条目具有不同的长度,column也可以完成工作:

awk '{$1=$1}1' OFS='  ' file

答案 1 :(得分:1)

这行awk将使用printf(documentation

格式化输出
awk '{printf "%3s\t%3s\t%3s\n",$1,$2,$3}' awk.txt

如果要剥离以#

开头的第一行
awk '!/^#/{printf "%3s\t%3s\t%3s\n",$1,$2,$3}'