如何檢查字符串是否遵循特定模式?Shell腳本:如何檢查字符串是否遵循特定模式?
例如,我有$ var存儲「hello.txt」,我想匹配的模式是「^(。+).txt $」(即任何具有「[任何文本] .txt 「
如何檢查字符串是否遵循特定模式?Shell腳本:如何檢查字符串是否遵循特定模式?
例如,我有$ var存儲「hello.txt」,我想匹配的模式是「^(。+).txt $」(即任何具有「[任何文本] .txt 「
使用bash內建=〜你可以這樣做:
if [[ "aaaa" =~ a+ ]]
then
echo "ok"
else
echo "no"
fi
您還可以使用shell glob模式:
if [[ "$var" == *.txt ]]; then ...
case "$var" in
*.txt) do something ;;
*) do something else ;;
esac
桜さん,その綠の印ここに移って下さい。(> _〇) – Kaz 2012-03-16 21:45:12
我可以使用shell的內置 '=〜' – Sakura 2012-03-15 09:06:48
絕對?更好 – kappa 2012-03-15 09:19:46
這是完全愚蠢的,因爲那個是不會調用正則表達式的,並且可以用POSIX描述的可移植shell語言輕鬆完成,而不用'bash'擴展。 – Kaz 2012-03-16 21:51:38