我有一個服務器有一些頁面寫在LESS。我有一個launch.sh
腳本,它基本上構建了LESS中的所有CSS文件,將它們放入一個目錄中,並啓動服務器(用Node.js編寫)。Combine Bash正則表達式
這裏是腳本是什麼樣子目前:
# Searches the CSS directory for LESS files
for file in views/less/*.less
do
FROM=$file
A=${file/.*/.css}
B=${A/less/css}
TO=${B/views/resources}
echo "$FROM -> $TO"
# Compiles each LESS file into a CSS file of the same name with minified output
lessc --clean-css $FROM $TO
done
一切工作正常,但我想知道如果我能凝結正則表達式expressins,denoated爲A
和B
。本質上,腳本需要整個構建路徑,讓我們說:
/views/less/style.less
,並取代less
到css
並替換views
到resources
。所以,最終路徑(轉換過程之後)變爲:
/resources/css/style.css
任何幫助將不勝感激!
我覺得代碼將成爲道路的可讀性。對我來說,現在看起來很簡潔。 – fedorqui 2015-03-31 13:14:45
我會重複使用相同的變量(而不是A,B&TO,只是:TO),但除此之外,很明顯。 – 2015-03-31 13:18:33
這些不是正則表達式,它們是全局模式。 [shell參數擴展](https://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion)不能嵌套,所以你別無選擇,只能一次做一個。 – 2015-03-31 14:12:16