tar の --exclude でアーカイブに含めたくないものを除外
とあるディレクトリの中身をtarでアーカイブしたいが、ディレクトリ内にある年月日の名前のついたサブフォルダは要らないので対象外にしたい。
年月日は数字8桁なので tar の --exlude と正規表現でやってみる。
[0-9]を8つ並べてみた。
$ rm -fR data $ mkdir data $ touch data/aaa.txt $ touch data/bbb.zip $ touch data/ccc.dat $ mkdir data/20140818 $ mkdir data/20140819 $ mkdir data/20140820 $ mkdir data/20140821X $ tar vzcf data.tgz data --exclude 'data/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' data/ data/aaa.txt data/bbb.zip data/ccc.dat data/20140821X/
[0-9]{8} は効かなかった。
$ tar vzcf data.tgz data --exclude 'data/[0-9]{8}' data/ data/20140818/ data/20140819/ data/aaa.txt data/bbb.zip data/ccc.dat data/20140821X/ data/20140820/