![如何使用 awk 命令获取文件中所有行中长度较高的行](https://linux22.com/image/132496/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20awk%20%E5%91%BD%E4%BB%A4%E8%8E%B7%E5%8F%96%E6%96%87%E4%BB%B6%E4%B8%AD%E6%89%80%E6%9C%89%E8%A1%8C%E4%B8%AD%E9%95%BF%E5%BA%A6%E8%BE%83%E9%AB%98%E7%9A%84%E8%A1%8C.png)
我想要文件中使用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