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

  免費注冊 查看新帖 |

Chinaunix

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

[文件目錄] 如何高效地將大量小文件平均分到各個文件夾中? [復(fù)制鏈接]

論壇徽章:
1
白羊座
日期:2014-11-13 10:19:16
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-09-22 08:17 |只看該作者 |倒序瀏覽
本帖最后由 iocg 于 2014-09-22 09:01 編輯

現(xiàn)某文件夾A下有100w個小文件(.txt),大小10K左右。

假設(shè)文件數(shù)量的閾值設(shè)為20W。
將在A文件夾自動生成5個文件夾(命名:1~5),將100W個文件每20W個移動至5個文件夾中(不用按順序)。

如何實現(xiàn),怎樣才能保證高效?

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
2 [報告]
發(fā)表于 2014-09-22 09:02 |只看該作者
本帖最后由 bulletmarquis 于 2014-09-22 09:31 編輯

我的習(xí)慣
  1. ll|grep ^-|awk '{_cmd_="cp -f "$NF" "NR%5+1"/";_cmd_|getline;close(_cmd_)}'
復(fù)制代碼
不過文件多的話,逐個cp或者mv效率不高,可以改成先把文件名寫到數(shù)組里,等攢到一定數(shù)量,再拼裝cp語句

論壇徽章:
1
白羊座
日期:2014-11-13 10:19:16
3 [報告]
發(fā)表于 2014-09-22 09:22 |只看該作者
回復(fù) 2# bulletmarquis


    拼裝cp語句?求大神解釋。。

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
4 [報告]
發(fā)表于 2014-09-22 09:35 |只看該作者
本帖最后由 bulletmarquis 于 2014-09-22 10:02 編輯

回復(fù) 3# iocg


    拿26*5個文件做測試,先創(chuàng)建文件和目錄
  1. touch {a..z}{1..5}
  2. mkdir 1 2 3 4 5
復(fù)制代碼
下面處理時,每20個文件操作一次,測試效果(當(dāng)然LZ文件很多,20個太小了,可以將NR%20==0改成合適的值)
  1. ll|grep ^-|awk '{a[NR%5+1]=a[NR%5+1]" "$NF}NR%20==0{for (i in a){_cmd_="cp -f "a[i]" "i"/";print _cmd_}delete a;print ""}'
  2. cp -f  a3 b3 c3 d3 4/
  3. cp -f  a4 b4 c4 d4 5/
  4. cp -f  a5 b5 c5 d5 1/
  5. cp -f  a1 b1 c1 d1 2/
  6. cp -f  a2 b2 c2 d2 3/

  7. cp -f  e3 f3 g3 h3 4/
  8. cp -f  e4 f4 g4 h4 5/
  9. cp -f  e5 f5 g5 h5 1/
  10. cp -f  e1 f1 g1 h1 2/
  11. cp -f  e2 f2 g2 h2 3/

  12. cp -f  i3 j3 k3 l3 4/
  13. cp -f  i4 j4 k4 l4 5/
  14. cp -f  i5 j5 k5 l5 1/
  15. cp -f  i1 j1 k1 l1 2/
  16. cp -f  i2 j2 k2 l2 3/

  17. cp -f  m3 n3 o3 p3 4/
  18. cp -f  m4 n4 o4 p4 5/
  19. cp -f  m5 n5 o5 p5 1/
  20. cp -f  m1 n1 o1 p1 2/
  21. cp -f  m2 n2 o2 p2 3/

  22. cp -f  q3 r3 s3 t3 4/
  23. cp -f  q4 r4 s4 t4 5/
  24. cp -f  q5 r5 s5 t5 1/
  25. cp -f  q1 r1 s1 t1 2/
  26. cp -f  q2 r2 s2 t2 3/

  27. cp -f  u3 v3 w3 x3 4/
  28. cp -f  u4 v4 w4 x4 5/
  29. cp -f  u5 v5 w5 x5 1/
  30. cp -f  u1 v1 w1 x1 2/
  31. cp -f  u2 v2 w2 x2 3/
復(fù)制代碼
實際執(zhí)行
  1. ll|grep ^-|awk '{a[NR%5+1]=a[NR%5+1]" "$NF}NR%20==0{for (i in a){_cmd_="cp -f "a[i]" "i"/";_cmd_|getline;close(_cmd_)}delete a}'
復(fù)制代碼

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
5 [報告]
發(fā)表于 2014-09-22 10:07 |只看該作者
本帖最后由 Herowinter 于 2014-09-22 11:05 編輯

回復(fù) 1# iocg

感覺可以這樣,無法測試,請謹(jǐn)慎使用.
  1. for((i=1;i<=5;i++));do for((j=1;j<=1000;j++))do ls *.txt|head -200|xargs -i mv "{}" $i;done done
復(fù)制代碼

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
6 [報告]
發(fā)表于 2014-09-22 10:48 |只看該作者
回復(fù) 2# bulletmarquis


    無法處理文件名包含空格的情況吧

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
7 [報告]
發(fā)表于 2014-09-22 11:03 |只看該作者
本帖最后由 bulletmarquis 于 2014-09-22 11:04 編輯

回復(fù) 6# Shell_HAT


    確實考慮不周,修改了一下

構(gòu)造數(shù)據(jù)
  1. echo {a..z}{1..5}|awk -vRS=" " '{print "" > $0" "$0}'
  2. mkdir 1 2 3 4 5
復(fù)制代碼
測試效果
  1. ls -F1|grep -v /$|awk '{a[NR%5+1]=a[NR%5+1]" \""$0"\""}NR%20==0{for (i in a){_cmd_="cp -f "a[i]" "i"/";print _cmd_}delete a;print ""}'
復(fù)制代碼
實際執(zhí)行
  1. ls -F1|grep -v /$|awk '{a[NR%5+1]=a[NR%5+1]" \""$0"\""}NR%20==0{for (i in a){_cmd_="cp -f "a[i]" "i"/";_cmd_|getline;close(_cmd_)}delete a;print ""}'
復(fù)制代碼

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
8 [報告]
發(fā)表于 2014-09-22 11:08 |只看該作者
回復(fù) 6# Shell_HAT


    搭車請教一下,如果文件名中會有空格的話,有沒有好辦法只取出文件名來且逐行展示文件名?

   看了半天ls --help,只有
ls -F1|grep -v /$
能行,但是如果目錄下還有鏈接啥的,就很麻煩

   有沒有其他好辦法?

論壇徽章:
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
9 [報告]
發(fā)表于 2014-09-22 11:49 |只看該作者
回復(fù) 1# iocg


    先把文件列表分割到5份(split),即5個文件, 再用這5個文件為輸入,xargs mv 文件到相應(yīng)的文件夾。

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
10 [報告]
發(fā)表于 2014-09-22 11:55 |只看該作者
回復(fù) 9# blackold

這樣效率應(yīng)該比用for循環(huán)高
   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(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