我目前正在运行一个程序,重新排列基因组以创建与参考基因组的最佳比对,并且因为它会生成许多文件夹,如 alignment#。
我无法知道此程序在停止之前将经历多少次迭代,但最终对齐是最好的(可以是从alignment5
到alignment35
的任何内容)并且将具有文件夹中可预测的文件名,但文件夹可以更改。
我需要一个bash脚本,它将查看目录并识别编号最高的目录并将其存储为变量或类似目录,理想情况下可以传递给其他程序。
我只想补充说我的脚本非常基本。如果你们能够尽可能彻底地解释你的答案,或者提供非常有用的用户友好资源的链接。
答案 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”。