--
--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:

29
2009

tarで特定のファイル/ディレクトリを除外

CATEGORYPC
ググると結構出てくるネタだけどメモ。以下、GNU TarではないSolaris8の環境で動作確認済み。

こんなディレクトリ構成だとして、
$ find test_dir
test_dir
test_dir/log
test_dir/log/test.log
test_dir/src
test_dir/src/test.c
test_dir/doc
test_dir/doc/test.txt
test_dir/bin
test_dir/bin/test.o

↓で、ディレクトリごと除外。
$ tar cvf - `find test_dir -type f -print | egrep -v '^test_dir/(bin|log)'` | gzip -c > test_dir.tar.gz
a test_dir/src/test.c 1K
a test_dir/doc/test.txt 1K

↓で、拡張子で除外。
$ tar cvf - `find test_dir -type f -print | egrep -v '\.(o|log)$'` | gzip -c > test_dir.tar.gz
a test_dir/src/test.c 1K
a test_dir/doc/test.txt 1K

tarに対して、圧縮するファイル(ディレクトリ)として、findで検索した結果→egrepの-v(一致するものを除外)したファイル名リストを渡している。上の例だと、最終的にそのままgzipに圧縮してtar.gzにして保存。
除外条件を変えたいときは、findなりegrepなりの条件を随時修正すること。


参考にさせていただいたサイトさんありがとうございましたm(__)m
GNU Tarと比べると、情報が少ない・・・。
スポンサーサイト

Tag: Solaris

0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。