2006年10月26日

tarで固める件

tarはファイルを固められるので便利ですね。
ディレクトリごとではなく、その下の必要なファイルだけ固めるには?と思い調べてみました。こんなにするらしいです。
find . -name '*.php' | xargs tar zcf phpfiles.tar

だいたいうまくいきます。ついでに圧縮もしています。

*.phpと*.incと両方固めたいときにはどうするのでしょうね。

find . \( -name '*.php' -o -name '*.inc' \)

だそうです。
両括弧は\(や'('や"("でエスケープする必要があります。
また、括弧の前後はスペースを入れる必要があります。

find . \( -name '*.php' -o '*.inc' \)

ではありません。「-o」の後にも「-name」が必要なのです。

ただ、sambaで共有とかしてファイル名が日本語だったり、ファイル名にスペースが入っていたりすると、そのファイルはエラーになって無視されてしまいます。

どうすれば?


固めるところはこんなにしてもできます。
find . -name '*.php' -exec tar rvf phpfiles.tar {} \;

これだとスペースの入ったファイル名も固めてくれます。

ただ、sambaで共有とかしてファイル名が日本語だったりすると、文字コードによっては?見つけてくれません。ありがちなのは「コピー 〜 」が頭についているファイルですね。



どうすれば?

posted by ほえ at 14:13| Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/26196513
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。