私はbashスクリプトで曜日を合わせるためのより良い方法を見つけようとしています。ここで私が持っているものです動作する:私は日によって月にスタートを解析していたファイルのすべての行BASHの正規表現で週の日に一致する
if [[ $LINE == *"Sun"* ]] || [[ $LINE == *"Mon"* ]] || [[ $LINE == *"Tue"* ]] || [[ $LINE == *"Wed"* ]] || [[ $LINE == *"Thu"* ]] || [[ $LINE == *"Fri"* ]] || [[ $LINE == *"Sat"* ]]; then
を:
Mon cat dog bird
Tue bird cat dog
しかし、私はより良い方法があるに違いありません知っています。私は失敗のカップルですここでは、多くのことを試してみた:
DAYS_REGEX='*[S|M|T|W|F][u|o|e|h|r|a][n|e|d|u|i|t]*'
if [[ $LINE =~ $DAYS_REGEX ]] ; then
と
if [[ $LINE == *"Sun|Mon|Tue|Wed|Thu|Fri|Sat"* ]] ; then
がこのようなものになるだろう正規表現でなければなりませんが、私はそれを固定することができないように私は感じますダウン:
(SMTWF/uoehra/neduit)
私が作品を持っている何が、私は私のbashスクリプトに正規表現を組み込む方法を学習しようとしています。どんな助力/提案も非常に高く評価されるでしょう。 TIA
愚かな質問:すべての行が*曜日で始まっていれば、あなたの既存のグロブパターンはなぜbegin *に '*' ing? – ruakh
私はそのコードをWeb上で見つけ、それを展開して週のすべての曜日を含めました。今私は正規表現で作業を始めていますが、私はそれらを削除できるかどうか疑問に思っていましたが、まだ試していませんでした。 – user2615269
* Regex *は何もありませんが、それらのすべての名前を付けるか、まったく同じスーパーセットにマッチする正規表現を持つことができます。正確には曜日ではないものと一致する可能性があります –