我有一个空格分隔的文件,其中包含:
5.75e-01 7.00e-1 5.52e-01 7.33e-01 ./dir1/dir2/file1.csv
5.75e-01 7.00e-1 5.42e-01 7.34e-01 ./dir1/dir2/file2.csv
5.75e-01 7.00e-1 5.72e-01 7.43e-01 ./dir2/dir2/file1.csv
5.75e-01 7.00e-1 5.22e-01 7.23e-01 ./dir2/dir2/file2.csv
5.75e-01 7.00e-1 5.02e-01 7.93e-01 ./dir3/dir2/file1.csv
5.75e-01 7.00e-1 5.12e-01 7.63e-01 ./dir3/dir2/file2.csv
我想提取第 5 列的值,该值对应于 dir# 的每个值的第 3 列的最大值。例如,假设我在谈论dir1
. 这对应于这些行:
5.75e-01 7.00e-1 5.52e-01 7.33e-01 ./dir1/dir2/file1.csv
5.75e-01 7.00e-1 5.42e-01 7.34e-01 ./dir1/dir2/file2.csv
我可以使用以下方法找到这些:
max_val_acc_=$(awk '$5 ~ /dir1/ { print }' filename.txt)
echo $max_val_acc
现在我想我需要通过 a 传递这个结果sort
并获取head
,但我无法让它工作。我正在寻找的结果(对于dir1
)是:
./dir1/dir2/file1.csv
以及所有目录的完整结果#:
./dir1/dir2/file1.csv
./dir2/dir2/file1.csv
./dir3/dir2/file2.csv