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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
打印 上一主題 下一主題

如何更巧妙的利用shell的fd [復(fù)制鏈接]

論壇徽章:
0
21 [報(bào)告]
發(fā)表于 2007-01-09 10:48 |只看該作者
原帖由 awk就是awp加ak 于 2007-1-9 10:12 發(fā)表
雖然分開文件讀和寫指針,沒有使用臨時(shí)文件,從而節(jié)省了1/2磁盤空間和1/2磁盤讀寫量,相對(duì)是很大改進(jìn)。
我的想法是:根本不進(jìn)行文件塊拷貝操作,只是修改文件開始指針,并且重新設(shè)置大小。或許有些貪婪了,哈

單獨(dú)截取的需求,您的想法用:dd設(shè)定操作符就完全可以實(shí)現(xiàn),但去掉前10行的需求顯然不是單純一個(gè)truncate調(diào)用就可以完成的。

論壇徽章:
0
22 [報(bào)告]
發(fā)表于 2007-01-09 11:00 |只看該作者
原帖由 一夢(mèng)如是 于 2007-1-9 10:48 發(fā)表

單獨(dú)截取的需求,您的想法用:dd設(shè)定操作符就完全可以實(shí)現(xiàn),但去掉前10行的需求顯然不是單純一個(gè)truncate調(diào)用就可以完成的。

我說的不是截取,也許是打算修改inode吧。不過目前好像沒有發(fā)現(xiàn)unix提供 inode修改的辦法。

論壇徽章:
0
23 [報(bào)告]
發(fā)表于 2007-01-09 11:03 |只看該作者
也許是對(duì)文件系統(tǒng)了解不夠才會(huì)產(chǎn)生這種想法~

論壇徽章:
0
24 [報(bào)告]
發(fā)表于 2007-01-09 11:10 |只看該作者
更激進(jìn)的想法:重新設(shè)計(jì)inode,增加一個(gè)偏移量 st_off,默認(rèn)0

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
25 [報(bào)告]
發(fā)表于 2007-01-09 11:17 |只看該作者
原帖由 一夢(mèng)如是 于 2007-1-9 10:44 發(fā)表

...
而且,我發(fā)現(xiàn)了我前面的一個(gè)觀點(diǎn)是錯(cuò)誤的:“sed和awk一定將文件指針置為文件尾”,特此聲明。
用下面的方法測(cè)試
[code]seq 10000 >6
exec 3<6
strace awk 'NR==1 ...

的確是這樣,如你所說,fd總會(huì)保存文件指針的位置。我前面關(guān)于sed、awk退出前將文件指針指向文件尾說法也是錯(cuò)誤的。更正一下。

我也用strace跟蹤了一下,發(fā)現(xiàn)sed、awk、head、perl都是按塊讀入文件,head的塊是8K,其它幾個(gè)都是4K。按塊讀取IO性能好,這是不錯(cuò)的,不同的是只有head和perl之后又用lseek恢復(fù)了文件指針的正確位置,所以fd中保存的結(jié)果才是正確的。

很有收獲啊,謝謝夢(mèng)兄!

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
26 [報(bào)告]
發(fā)表于 2007-01-09 11:59 |只看該作者
  1. { head -10 <&3; dd <&3 >&4;} 3<HUGEFILE 4<>HUGEFILE
復(fù)制代碼

我測(cè)試了一下,結(jié)果沒有截?cái)唷?br /> GNU bash, version 2.05b.0(1)-release
dd (coreutils) 5.0

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
27 [報(bào)告]
發(fā)表于 2007-01-09 12:04 |只看該作者
有意思!在我的平臺(tái)上確實(shí)截?cái)嗔恕?br /> bash:version 3.00.15(1)
head&dd: (coreutils) 5.2.1
另一臺(tái)上也行:
bash:version 2.05b.0(1)
head&dd: (coreutils) 5.2.1
因?yàn)閏oreutils版本不同?
{ head -10 <&3; head -10 <&3;} 3<HUGEFILE顯示什么?

[ 本帖最后由 woodie 于 2007-1-9 12:10 編輯 ]

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
28 [報(bào)告]
發(fā)表于 2007-01-09 12:16 |只看該作者
原帖由 woodie 于 2007-1-9 12:04 發(fā)表
有意思!在我的平臺(tái)上確實(shí)截?cái)嗔恕?br /> bash:version 3.00.15(1)
head&dd: (coreutils) 5.2.1
另一臺(tái)上也行:
bash:version 2.05b.0(1)
head&dd: (coreutils) 5.2.1
因?yàn)閏oreutils版本不同?
{ head ...

  1. r2007@www r2007 $ seq 1 20 >a
  2. r2007@www r2007 $ { head -10 <&3; head -10 <&3;} 3<a
  3. 1
  4. 2
  5. 3
  6. 4
  7. 5
  8. 6
  9. 7
  10. 8
  11. 9
  12. 10
  13. 11
  14. 12
  15. 13
  16. 14
  17. 15
  18. 16
  19. 17
  20. 18
  21. 19
  22. 20
  23. r2007@www r2007 $ { head -10 ; dd >&4;} <a 4<>a
  24. 1
  25. 2
  26. 3
  27. 4
  28. 5
  29. 6
  30. 7
  31. 8
  32. 9
  33. 10
  34. 0+1 records in
  35. 0+1 records out
  36. r2007@www r2007 $ cat a
  37. 11
  38. 12
  39. 13
  40. 14
  41. 15
  42. 16
  43. 17
  44. 18
  45. 19
  46. 20
  47. 14
  48. 15
  49. 16
  50. 17
  51. 18
  52. 19
  53. 20
  54. r2007@www r2007 $
復(fù)制代碼

[ 本帖最后由 r2007 于 2007-1-9 12:20 編輯 ]

論壇徽章:
1
榮譽(yù)會(huì)員
日期:2011-11-23 16:44:17
29 [報(bào)告]
發(fā)表于 2007-01-09 12:18 |只看該作者
那么head沒有問題。dd的問題嗎?7兄是linux還是cygwin?

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
30 [報(bào)告]
發(fā)表于 2007-01-09 12:23 |只看該作者
原帖由 woodie 于 2007-1-9 12:18 發(fā)表
那么head沒有問題。dd的問題嗎?7兄是linux還是cygwin?

自己搗鼓得gentoo 1.4 ^_^
我這測(cè)試結(jié)果,除了不能截?cái),其它都正常。每次總有個(gè)尾巴。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP