如何使用 awk 命令获取文件中所有行中长度较高的行

如何使用 awk 命令获取文件中所有行中长度较高的行

我想要文件中使用awk命令的所有行中长度最长的那一行。

答案1

awk '{ if (length($0)>maxlength) { maxlength=length($0); longest_line=$0; } };
     END { print longest_line; }' inputfile

答案2

检查行的长度(如果没有参数传递给length它使用 $0 的函数,则为整行)。

当 length 大于 variable 时x,设置x为长度。并将变量设置a为该行的内容。

最后,到达文件末尾时,打印变量的内容a

awk 'length>x{x=length;a=$0}END{print a}' inputfile

在线尝试一下!

相关内容