我將特定發行版的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