我在我的脚本中使用以下命令:
max_length=`awk '{print length}' $File_Path_Name/$filnm | sort -nr | head -1`;
min_length=`awk '{print length}' $File_Path_Name/$filnm | sort -nr | tail -1`;
其中filenm
变量包含文件名,File_Path_Name
包含目录路径
从脚本执行此操作时,我收到错误
排序:写入失败:标准输出:管道损坏
有什么建议我做错了吗?
答案 0 :(得分:2)
您不需要扫描文件两次以获得最大/最小值 尝试
$ read max min < <(awk '{print length}' file | sort -nr | sed -n '1p;$p' | paste -s)
或者您可以通过计算awk
$ awk '{len=length}
NR==1 {max=min=len}
max<len{max=len}
min>len{min=len}
END {print max, min}' file