次のような名前のファイルがたくさんあります。
/var/log/foo/2014-07-06-01.log
...
/var/log/foo/2014-07-20-04.log
毎日複数のログファイルがあり、特定の日付のログファイルをダウンロードしたいと思います。
$ rsync server:/var/log/foo/2014-07-06-*.log .
しかし、私はzsh: no matches found
間違っています。
拡張子ごとにフィルタリングできることをマニュアルで見つけましたが、この場合、ファイル名をフィルタリングする方法が見つかりませんでした。
フィルタリングを使用する簡単な方法はありますかrsync
?
ベストアンサー1
次の特殊文字を避ける必要があります。
$ rsync server:/var/log/foo/2014-07-06-\*.log .
または
$ rsync 'server:/var/log/foo/2014-07-06-*.log' .
あるいは、より良い方法はinstallurl-quote-magic
です。
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
zstyle ':urlglobber' url-other-schema http https ftp mailto
これにより、zshは自動的にこれを行います。他のURLスキームを追加することもできます。
編集:またはunsetopt NOMATCH
エラーが発生するとPOSIXシェルの動作に戻ることがありますが、場合によっては予期しない結果が生じる可能性があるため、これを行わないことをお勧めします。