免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: km
打印 上一主题 下一主题

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-10-22 17:24 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

顶~~~~~~~~~~~~~~~~~~~~~~~~

论坛徽章:
0
12 [报告]
发表于 2004-10-22 18:24 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

呵呵GREP -W就可以精确的查找了:)
可sed 's/'$IP'/#'$IP'/' /A.txt >! /A.secret            
sed: 1: "s/dxg
mawen
lkp
anpengf ...": unterminated substitute pattern
怎么才可以1个1个的写进去??:(

论坛徽章:
0
13 [报告]
发表于 2004-10-22 18:49 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

现在只能实现1个写进去多了就不行了:(

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2004-10-22 23:02 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

試試看:

  1. ip="1.2.3.4 1.2.3.5 1.2.3.6"
  2. for i in $ip; do
  3.     cat a.txt > a.txt.bak
  4.     sed "/$i/s/^/#/" a.txt.bak > a.txt
  5. done
复制代码

论坛徽章:
0
15 [报告]
发表于 2004-10-23 03:57 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

谢谢老大:)
可是每执行1遍就多+个#号,我是想用crontab每30分钟执行1遍的:(
谢谢老大:)
可是每执行1遍就多+个#号,我是想用crontab每30分钟执行1遍的:(
那样文件里都是#号了:(
我现在改为这样:
ipfw show | grep deny| grep 192.168.4| awk '{print $7}' > /home/kemin/kkk/aaa
IP=$(cat /home/kemin/kkk/mpd.secret.bak | grep -wf /home/kemin/kkk/aaa | awk '{print $1}')
kpi="$IP"
for i in $kpi; do
    sed 's/'$i'/#'$i'/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret
done
可是只在最后的1个用户前+上了#  :(
比如说我有
aaa
bbb
ccc
ddd4个用户可只早ddd用户前面+#
也就是
aaa
bbb
ccc
#ddd这样了:(

论坛徽章:
0
16 [报告]
发表于 2004-10-23 05:44 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

#!/bin/sh
ipfw show | grep deny| grep 192.168.4| awk '{print $7}' > /home/kemin/kkk/aaa
IP=$(cat /home/kemin/kkk/mpd.secret | grep -wf /home/kemin/kkk/aaa | awk '{print $1}')
kpi="$IP"
for i in $kpi; do
    cat /home/kemin/kkk/mpd.secret > /home/kemin/kkk/mpd.secret.bak
    sed 's/'$i'/#'$i'/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret
done
要是这样的话也是每执行1遍就多+个#号
:(

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
17 [报告]
发表于 2004-10-23 19:55 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

sed 's/'$i'/#'$i'/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret
改為:
sed '/'$i'/s/^/#/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret

论坛徽章:
0
18 [报告]
发表于 2004-10-23 20:49 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

#!/bin/sh
ipfw show | grep deny| grep 192.168.4| awk '{print $7}' > /home/kemin/kkk/aaa
grep -v "#" /home/kemin/kkk/mpd.secret > /home/kemin/kkk/bbb
kpi=$(cat /home/kemin/kkk/bbb | grep -wf /home/kemin/kkk/aaa | awk '{print $1}')
for i in $kpi; do
    cat /home/kemin/kkk/mpd.secret > /home/kemin/kkk/mpd.secret.bak
    sed 's/'$i'/#'$i'/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret
done
网中人老大这样执行的效率会差些么???

论坛徽章:
0
19 [报告]
发表于 2004-10-23 20:57 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

其实也不用把命改来改去
在命令后面接一个sort 的语句就行,它支持往自身回写

论坛徽章:
0
20 [报告]
发表于 2004-10-23 21:06 |只看该作者

网中人大哥,关于编辑文挡的问题!(已解决 多谢网中人老大提点)

sed '/'$i'/s/^/#/' /home/kemin/kkk/mpd.secret.bak > /home/kemin/kkk/mpd.secret
呵呵老大写成这样也是执行1遍就+个#号:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP