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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 15862 | 回復(fù): 11
打印 上一主題 下一主題

請教shell達人,關(guān)于find與xargs配合并使用tar命令的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-08-10 11:33 |只看該作者 |倒序瀏覽
我想一次性打包 2W個 jpg文件 用了如下兩個命令

find . -name "*.jpg" -exec tar -czf picture.tgz {} \;    命令執(zhí)行完畢后,picture.tgz中只有一個文件

find . -name "*.jpg" | xargs tar -czf picture.tgz        這個命令執(zhí)行完畢后,picture.tgz中只有907個文件。

以上兩個命令都沒有成功,我決定問題出在:

第一個命令中,find把找到的2w個文件一次性傳送給tar ,此時參數(shù)太長導(dǎo)致打包失敗,但是執(zhí)行命令時又沒有出現(xiàn)“參數(shù)列表過長”的錯誤信息;

第二個命令中,xargs把find匹配的文件分批傳送給tar,但是tar每處理一次都把上一次生成的picture.tgz文件覆蓋,導(dǎo)致最后picture.tgz中只有907個文件;

期待達人為我解決一下

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-24 06:20:00
2 [報告]
發(fā)表于 2009-08-10 11:54 |只看該作者
用-r代替tar命令的-c選項試試?

論壇徽章:
0
3 [報告]
發(fā)表于 2009-08-10 12:00 |只看該作者

回復(fù) #2 Minsic 的帖子

不行呢,會提示 因信號6而終止

首先肯定得用-c 把包打出來,然后才能-r追加,而且好像有-z已經(jīng)壓縮后,就不能-r追加了

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-24 06:20:00
4 [報告]
發(fā)表于 2009-08-10 12:05 |只看該作者

回復(fù) #3 angellp0128 的帖子

哦,沒文件也會創(chuàng)建的,應(yīng)該是-z選項阻止了

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
5 [報告]
發(fā)表于 2009-08-10 12:13 |只看該作者
先打包,再壓縮

論壇徽章:
0
6 [報告]
發(fā)表于 2009-08-10 12:21 |只看該作者

回復(fù) #4 Minsic 的帖子

經(jīng)過你的提示,我初步解決了這個問題

先用find . -name "*.jpg" | xargs tar -rf picture.tgz  命令打包

然后用gzip命令把打出的包壓縮

還有更簡單的方法嗎 大家?guī)兔ο胍幌掳蓗

論壇徽章:
0
7 [報告]
發(fā)表于 2009-08-10 12:22 |只看該作者

回復(fù) #5 blackold 的帖子

恩,剛才我就這樣做的

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
8 [報告]
發(fā)表于 2009-08-10 12:24 |只看該作者

回復(fù) #7 angellp0128 的帖子

有時間你可以看看tar文檔,就知道有沒有更簡單的方法了。

論壇徽章:
0
9 [報告]
發(fā)表于 2009-08-10 13:55 |只看該作者
這個和Shell沒太大關(guān)系吧?我想你剛好想反了,對于find來說-exec是每找到一個滿足的就調(diào)用一次后面的程序,所以你最后只有一個文件,因為tar的c命令是重新創(chuàng)建的;倒是xargs應(yīng)該是你說的參數(shù)太多原因,能支持的一個命令中帶的文件名應(yīng)該是有限的。

自己寫一個程序應(yīng)該很容易測試出來吧。

論壇徽章:
0
10 [報告]
發(fā)表于 2009-08-10 14:30 |只看該作者
find . -name "*.jpg" -print >list
tar -T list -czvf picture.tar.gz
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP