LFTP除外ファイル拡張子

LFTP除外ファイル拡張子

lftpミラーディレクトリを使用しようとしていますが、.mp4や.swfなどの非常に大きなファイル形式をダウンロードしたくありません。しかし、正規表現に問題があります。グローバル変数を除外しているようです。どちらもすべてのファイルをダウンロードしました。

私が試したこと:

/usr/local/bin/lftp -u user,pass -e 'mirror -x ^(\.mp4|\.swf)$ $src $dest' ftp.host

&&

/usr/local/bin/lftp -u user,pass -e 'mirror -X swf $src $dest' ftp.host

答え1

最初のケースでは、パイプ(|)を引用する必要があります。 lftpの中でパイプ(|)が特殊記号でもあるからです(src変数とdest変数を挿入するには二重引用符を使用し、シェルで解釈されないようにバックスラッシュとドル記号を引用してください)。

/usr/local/bin/lftp -u user,pass -e "mirror -x '^(\\.mp4|\\.swf)\$' $src $dest" ftp.host

2番目のケースでは、次のようにglobモードを使用する必要があります。

/usr/local/bin/lftp -u user,pass -e "mirror -X *.mp4 -X *.swf $src $dest" ftp.host

とにかく、ミラーコマンドを自動化する前に、まず手動でテストすることをお勧めします。

関連情報