我将特定发行版的SQL脚本存储在以发行版本命名的'scripts'的子目录中,例如,Bash脚本:获取文件的子列表
...
./scripts/1.8.3/script-1.8.3.sql
./scripts/1.8.4/script-1.8.4.sql
./scripts/1.8.4.1/script-1.8.4.1.sql
./scripts/1.8.4.2/script-1.8.4.2.sql
./scripts/1.8.4.3/script-1.8.4.3.sql
./scripts/1.9.0/script-1.9.0.sql
./scripts/1.9.1/script-1.9.1.sql
./scripts/1.9.2/script-1.9.2.sql
./scripts/1.9.3/script-1.9.3.sql
./scripts/1.9.4/script-1.9.4.sql
./scripts/1.9.5/script-1.9.5.sql
./scripts/1.9.6/script-1.9.6.sql
./scripts/1.9.6.1/script-1.9.6.1.sql
...
在bash脚本中,我需要获取超出特定版本号的所有SQL文件。例如,如果这个版本号是1.9.4我想获取列表
./scripts/1.9.4/script-1.9.4.sql
./scripts/1.9.5/script-1.9.5.sql
./scripts/1.9.6/script-1.9.6.sql
./scripts/1.9.6.1/script-1.9.6.1.sql
...
我知道我可以通过
all_files = `find . -name '*.sql' | sort`
获得通过发布命令文件的整个列表,但我不确定我可以如何过滤这个列表来获取特定版本的“在或之后”的所有文件。
请仔细分类。即使使用-n。你的版本1.10.3(某人总是这样做)将会失灵。 – 2009-01-24 22:12:09