私はDropbox Uploaderを使用しており、以下のようなファイルのリストを$line
として出力できます。私は部分的に特定のファイルに一致したいが、私はこの正規表現を動作させることはできない。私はそれが働くregexr.comでそれを試してみましたが、ユースケースが端末Bash-regexが一致しません
person_02-15-2017_21-01-42.sql
person_02-17-2017_11-42-01.sql
person_02-17-2017_12-00-02.sql
上記の
$list
> Listing "/"... DONE
[F] 168953708 person_02-15-2017_21-01-42.sql
[F] 170024815 person_02-17-2017_11-42-01.sql
[F] 170012760 person_02-17-2017_12-00-02.sql
の予想される出力のない
./dropbox_uploader.sh list | while read line
do
if [[ $line =~ /person_(.*}?).sql/g ]];
then
echo "match";
else
echo "no match";
fi
#echo "$line"
done
電流出力を行い、私は基本的にしていますファイル名を持つ行と一致するようにしようとし、そのファイル名だけを出力します。
期待される出力?あなたの入力のために? – Inian
@Inian更新されたオリジナルの投稿 –
あなたの正規表現がうまくいかなかった理由は誰も強調しませんでしたので、ここでそれを行っています: '/ pattern/flags'構造体は' bash'(あるいはほとんどの言語では)に存在しません。 '=〜'演算子を使うのは、後に続くものが正規表現のパターンであることを指定するものです。 '[[" [F] 168953708 person_02-15-2017_21-01-42.sql "=〜person _(。*}?)。sql]] &&エコーマッチ||エコーはありませんでした。 – Aaron