【发布时间】:2013-11-23 17:10:42
【问题描述】:
您好,我是 linux 新手。我正在尝试使用 bash 中的 find 命令搜索给定目录,每个目录包含多个同名但内容不同的文件,以在文件中找到最大值。
最初我没有将目录作为输入,并且知道文件的深度不会少于 2 个目录,因此我使用嵌套循环如下:
prev_value=0
for i in <directory_name> ; do
if [ -d "$i" ]; then
cd $i
for j in "$i"/* ; do
if [ -d "$j" ]; then
cd $j
curr_value=`grep "<keyword>" <filename>.txt | cut -c32-33` #gets value I'm comparing
if [ $curr_value -lt $prev_value ]; then
curr_value=$prev_value
else
prev_value=$curr_value
fi
fi
done
fi
done
echo $prev_value
显然现在不会削减它。我研究了 find 的 -exec 选项,但由于 find 产生了大量结果,我只是不确定如何处理变量分配和比较。任何帮助将不胜感激,谢谢。
【问题讨论】: