以下の正規表現を使用したシェルスクリプトの解釈方法を教えていただきたいです。
この書き方でなぜカレントディレクトリ以下のdotsファイルを列挙することができるのでしょうか。
#!/bin/bash for f in .??* do [[ "$f" == ".git" ]] && continue [[ "$f" == ".DS_Store" ]] && continue echo "$f" done
基本的な正規表現の意味は以下の通りだと理解しています。
.
任意の1文字 にマッチします。
?
直前の文字が 0個か1個 の場合にマッチします。
最長一致。条件に合う最長の部分に一致します。
*
直前の文字が 0回以上 繰り返す場合にマッチします。
最長一致。条件に合う最長の部分に一致します。
また、ドットはエスケープをしているわけではないのに、なぜ正規表現として解釈されないのでしょうか。
Regexper
を使用して、正規表現を可視化しようとしましたが、うまく行きませんでした。
回答1件
あなたの回答
tips
プレビュー