特定の文字列で始まり、特定の文字列で終わるすべてのzipファイルを見つけます。

特定の文字列で始まり、特定の文字列で終わるすべてのzipファイルを見つけます。

zipdb-次に始まり終わるすべてのファイルに対して次のコマンドを実行します.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 はディレクトリとサブディレクトリにのみ一致します。

おすすめ記事