遵循这里的说明: http : //linuxdevcenter.com/pub/a/linux/lpt/20_08.html
我的目标是打造一个目录,但只想包括该目录中的.php文件。
鉴于上述指示,我已经拿出这个命令。 它创build一个名为IncludeTheseFiles的文件,其中列出了所有.php文件,然后tar应该只使用IncludeTheseFiles中列出的文件
find myProjectDirectory -type f -print | \ egrep '(\.[php]|[Mm]akefile)$' > IncludeTheseFiles tar cvf myProjectTarName -I IncludeTheseFiles
但是,当我运行这个它不喜欢我包括选项?
tar: invalid option -- I
这是诀窍,不需要比较文件:
find myProjectDirectory -type f \( -name \*\.php -o -name \*\.js -o -name \*\.css -o -name \*\.inc \) | xargs tar -rf myProjectTarName.tar
阅读我的Ubuntu 8.04系统上的Gnu tar的手册页,它说:
-T, --files-from F get names to extract or archive from file F
除了提及历史上它被用来请求bzip压缩之外,它不引用-I
选项。
你应该能够指定stdin作为你的文件名的来源。 尝试:
find myProjectDirectory -type f -regextype posix-egrep -regex ".*/(.*\.[php]|[Mm]akefile)$ -print | \ tar cvf myProjectTarName --files-from=-