Chinaunix

标题: 如何把一个小文件添加到一个大文件的的头行部分?要求效率高。 [打印本页]

作者: stsrichard    时间: 2009-10-21 22:54
标题: 如何把一个小文件添加到一个大文件的的头行部分?要求效率高。
题目: 两个文件file01小, file02很大,

要求: 合并2个文件. file01在前, file02在后。

可以用cat file02>> file01来实现, 但是效率比较低, 请问该如何处理。

谢谢。

问题或者是: cat file01 的输出定向到file02 的开头部分, 如何实现?

[ 本帖最后由 stsrichard 于 2009-10-22 22:02 编辑 ]
作者: 寂寞烈火    时间: 2009-10-22 08:38
不知道效率如何
awk '{print $0 >"newfile"}' file1 file2
作者: beginner-bj    时间: 2009-10-22 10:25
ed -s file02 <<!
0r file01
w
q
!
作者: haimming    时间: 2009-10-22 21:13
测试了一下
[rockfall@Rocfall ~/tmp/sh]$ll -h data01 data02
-rw-rw-r--. 1 rockfall rockfall   15 2009-10-22 20:49 data01
-rw-rw-r--. 1 rockfall rockfall 989M 2009-10-22 20:54 data02

[rockfall@Rocfall ~/tmp/sh]$cat >a1.sh
#!/bin/bash
ed -s data02 <<!
0r data01
w
q
!

[rockfall@Rocfall ~/tmp/sh]$time ./a1.sh

real        2m15.499s
user        0m54.878s
sys        0m11.565s

[rockfall@Rocfall ~/tmp/sh]$time awk '{print $0 >"newfile"}' data01 data02

real        0m43.459s
user        0m8.677s
sys        0m5.017s

作者: lululau    时间: 2009-10-22 21:35
这个应该没有效率高的办法吧
召唤r2007
作者: haimming    时间: 2009-10-22 22:22
标题: 回复 #5 lululau 的帖子
是啊
那招“飞龙在天”到现在还没明白
作者: r2007    时间: 2009-10-23 13:07
在需要的时候再做。
作者: beginner-bj    时间: 2009-10-23 14:25
标题: 回复 #4 haimming 的帖子
没想到ed的效率那么低,跟我想象得差得好远。
作者: haimming    时间: 2009-10-23 15:25
标题: 回复 #8 beginner-bj 的帖子

这个ed不会,本来打算学习一下的,结果.....
作者: beginner-bj    时间: 2009-10-23 15:49
标题: 回复 #9 haimming 的帖子
我也不太会。就会些简单的东西。
作者: cxfcxf    时间: 2009-10-23 15:57
用dd的那位呢...
作者: 松江孤岛一叶枫    时间: 2009-10-23 16:05
这个在文件头部做添加或者删除用dd可以做到?
作者: fargo    时间: 2009-10-23 19:20
something like this

LINE_NUM=1
while read LINE
do
sed -i " $LINE_NUM i\
$LINE " file2
LINE_NUM=$(($LINE_NUM+1))
done <file1
作者: stsrichard    时间: 2009-10-24 11:48
原帖由 fargo 于 2009-10-23 19:20 发表
something like this

LINE_NUM=1
while read LINE
do
sed -i " $LINE_NUM i\
$LINE " file2
LINE_NUM=$(($LINE_NUM+1))
done  


sed 也是要遍历整个大文件的,效率也是一般.. , 期待更好的高招....
作者: linuxboy823    时间: 2009-10-24 13:08
貌似awk的效率比较高,那楼主有没有试试用time看看
cat file02>> file01呢!大家也好比较比较!
作者: haimming    时间: 2009-10-24 14:59
标题: 回复 #15 linuxboy823 的帖子
估计,和awk的速度差不了多少




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2