zip
db-
次に始まり終わるすべてのファイルに対して次のコマンドを実行します.sql
。
zip /var/www/html/db-$(date +\%F-\%T).zip /var/www/html/^db-*.sql
しかし、私は次のようになります。
zip 警告: 名前の不一致: /var/www/html/^db-*.sql
zipエラー:アクションは必要ありません! (/var/www/html/db.zip)
キャレットを使用してで始まるすべての項目と一致し、最後に追加してでdb-
終わる*.sql
すべての項目と一致するため、.sql
間違いを理解できません。
別のバリエーションを試しましたが、^
すべて同様のエラーが原因で失敗しました。
ベストアンサー1
Bashパラメータは正規表現ではなくワイルドカードです。使用:
$ zip /var/www/html/db-$(date +\%F-\%T).zip /var/www/html/db-*.sql
bash
マニュアルの「Pattern Matching」から:
*
空の文字列を含むすべての文字列と一致します。globstar
シェルオプションが有効で*
パス名拡張コンテキストで使用される場合、単一パターン*
として使用される2つの隣接するsは、すべてのファイルとゼロ以上のディレクトリとサブディレクトリと一致します。後に a が続く場合、/
2 つの隣接する*
s はディレクトリとサブディレクトリにのみ一致します。