bash脚本检索编号最高的文件夹/目录

时间:2014-06-02 15:11:48

标签: bash

我目前正在运行一个程序,重新排列基因组以创建与参考基因组的最佳比对,并且因为它会生成许多文件夹,如 alignment#

我无法知道此程序在停止之前将经历多少次迭代,但最终对齐是最好的(可以是从alignment5alignment35的任何内容)并且将具有文件夹中可预测的文件名,但文件夹可以更改。

我需要一个bash脚本,它将查看目录并识别编号最高的目录并将其存储为变量或类似目录,理想情况下可以传递给其他程序。

我只想补充说我的脚本非常基本。如果你们能够尽可能彻底地解释你的答案,或者提供非常有用的用户友好资源的链接。

2 个答案:

答案 0 :(得分:2)

这里有一个概念脚本:

#!/bin/bash
shopt -s extglob
DIR="/parent/dir" HIGHEST=''
for A in "$DIR"/alignment+([[:digit:]]); do
    B=${A#*/alignment}
    [[ -z $HIGHEST || B -gt HIGHEST ]] && HIGHEST=$B
done
[[ -n $HIGHEST ]] && echo "Highest: $DIR/alignment${HIGHEST}"

答案 1 :(得分:0)

ls -1 $directory | sort --numeric

这假定文件名的前缀一致。 否则,您可以使用“sort -k N --numeric”,有关详细信息,请参阅“man sort”。