亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 如何處理空格?? [打印本頁]

作者: natury    時間: 2008-12-15 21:40
標(biāo)題: 如何處理空格??
在Advanced Bash-Scripting Guide這本書中有一個用來備份用bash script。
其中有一句為:
tar cvf - `find . -mtime -1 -type f -print` > $archive.tar
一般情況下可能好好地工作,但是要碰上一些帶空格的文件名,這個就不工作了。如有一個叫Advanced Bash-Scripting Guide.pdf的文件。
終端會顯示:
tar: ./Advanced:無法 stat: 沒有那個文件或目錄
tar:  Bash-Scripting :無法 stat: 沒有那個文件或目錄
tar: Guide.pdf:無法 stat: 沒有那個文件或目錄
tar: 由于前面延遲的錯誤而退出
這個應(yīng)該是find命令向tar傳遞參數(shù)時沒有對空格進行轉(zhuǎn)義所造成的。

這個應(yīng)該如何處理由find所產(chǎn)生的空格的問題?
作者: walkerxk    時間: 2008-12-15 21:55
tar cvf $archive.tar `find . -mtime -1 -type f -print|sed 's,^,",;s,$,",'`
用雙引號引起來就沒事了,沒測試。
作者: HH106    時間: 2008-12-15 22:08
try:

find . -mtime -1 -type f -print0 | xargs -0 tar -zcvf "$archive.tar"
作者: walkerxk    時間: 2008-12-15 22:17
原帖由 HH106 于 2008-12-15 22:08 發(fā)表
try:

find . -mtime -1 -type f -print0 | xargs -0 tar -zcvf "$archive.tar"

-z的話要換成.tar.gz
作者: HH106    時間: 2008-12-15 22:31
原帖由 walkerxk 于 2008-12-15 22:17 發(fā)表

-z的話要換成.tar.gz

是的,謝謝指出
雖然擴展名不是很重要
作者: natury    時間: 2008-12-15 23:33
原帖由 walkerxk 于 2008-12-15 21:55 發(fā)表
tar cvf $archive.tar `find . -mtime -1 -type f -print|sed 's,^,",;s,$,",'`
用雙引號引起來就沒事了,沒測試。

這個試了,一些正常不帶空格的文件也沒法tar


原帖由 HH106 于 2008-12-15 22:08 發(fā)表
try:

find . -mtime -1 -type f -print0 | xargs -0 tar -zcvf "$archive.tar"

這個可以很好地工作。

謝謝各位的解答!
看來還得認真學(xué)習(xí)一下sed和find的命令!




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2