求助:批量删除不同文件的相同内容

sh/bash/dash/ksh/zsh等Shell脚本
回复
kevin_chu
帖子: 45
注册时间: 2007-09-01 21:14

求助:批量删除不同文件的相同内容

#1

帖子 kevin_chu » 2008-10-28 15:30

在同一目录下,有多个文件,文件名命名如:cpu20081021、cpu20081022、cpu20081023几个文件,每个文件中都有user、test关键字,我想批量把在user、test之间的内容保存到不同文件中,请问应该如何做?

如文件内容:
user 12345
cpu1234
dirk3456
test test
ubuntu
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 求助:批量删除不同文件的相同内容

#2

帖子 xiooli » 2008-10-28 15:49

sed -n '/user/,/test/p' file >newfile
这是将user和test之间的东东提取出来的命令。
kevin_chu
帖子: 45
注册时间: 2007-09-01 21:14

Re: 求助:批量删除不同文件的相同内容

#3

帖子 kevin_chu » 2008-10-28 15:54

有办法批量处理多个文件么(关键字都一样)?每个文件保存到单独文件中
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 求助:批量删除不同文件的相同内容

#4

帖子 xiooli » 2008-10-28 16:17

for i in *;do sed -n '/user/,/test/p' $i >$i.new;done

ps:原先的文件里面的那一段并没有删除,要删除可以用sed -i '/user/,/test/d' file
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 求助:批量删除不同文件的相同内容

#5

帖子 cnkilior » 2008-10-29 8:36

用diff软件试试?
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

Re: 求助:批量删除不同文件的相同内容

#6

帖子 bones7456 » 2008-10-29 9:13

xiooli 写了:for i in *;do sed -n '/user/,/test/p' $i >$i.new;done

ps:原先的文件里面的那一段并没有删除,要删除可以用sed -i '/user/,/test/d' file
cat * | sed 就好了嘛....
关注我的blog: ε==3
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 求助:批量删除不同文件的相同内容

#7

帖子 xiooli » 2008-10-29 9:36

bones7456 写了:
xiooli 写了:for i in *;do sed -n '/user/,/test/p' $i >$i.new;done

ps:原先的文件里面的那一段并没有删除,要删除可以用sed -i '/user/,/test/d' file
cat * | sed 就好了嘛....
不是每个文件的那一段都新存为一个文件么?你这样就只有一个文件了。
kevin_chu
帖子: 45
注册时间: 2007-09-01 21:14

Re: 求助:批量删除不同文件的相同内容

#8

帖子 kevin_chu » 2008-10-29 10:24

谢谢各位的帮助!
头像
jinhongchao@gmail.com
帖子: 286
注册时间: 2008-06-24 21:00

Re: 求助:批量删除不同文件的相同内容

#9

帖子 jinhongchao@gmail.com » 2008-11-26 8:30

呵呵,不错啊,我问一下,如果这些文件不在本地硬盘上。而是一些网页呢? 如果把一个网站一些特定的网上的,这些特定的数据采集到本地呢?
回复