排序写入失败的标准输出损坏管道-linux



我在脚本中使用以下命令:

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包含目录路径。
在脚本执行此操作时,我会收到错误

排序:写入失败:标准输出:损坏的管道

有什么建议我做错了什么?

您不需要两次扫描文件以获取最大/分钟尝试

$ 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

最新更新