免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 2614 | 回复: 25
打印 上一主题 下一主题

文本替换问题,请指点。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-16 17:18 |只看该作者 |倒序浏览
我依照上面的内容,编辑了下面的纯文本文件:

for i in ./* ; do
echo "Testing" grep "abc" $i
if [ "$i" != "./replace" -a $? -ne 1 ]
then
echo "Replacing" $i
sed "s/abc/xyz/g" $i > $i.new
fi
done

保存为replae,然后
#sh replace

屏幕显示:

Testing grep abc ./admin.php
replace: line 3: [./admin.php: No such file or directory
.......
.......
.......

replace和admin.php在同一目录,这怎么解决?

我第一次用Shell 脚本。

谢谢。

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

文本替换问题,请指点。

直接使用*匹配文件名,不要用“./”

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

文本替换问题,请指点。

直接使用*匹配文件名,不要用“./*”

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

文本替换问题,请指点。

直接使用*匹配文件名,不要用“./*”   

啊!
这是怎么了 ?以下子发这么多?

麻烦版主给删除吧!

论坛徽章:
0
5 [报告]
发表于 2003-06-16 21:50 |只看该作者

文本替换问题,请指点。

我改了,结果变成了:

Testing grep abc admin.php
replace: line 3: [replace: command not found

......
......
......

这可怎么办呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-06-16 21:59 |只看该作者

文本替换问题,请指点。

把replace放在别的目录下,脚本就可以简化了:
for i in * ; do
echo "Testing" grep "abc" $i
if [ $? -eq 0 ]
then
echo "Replacing" $i
sed "s/abc/xyz/g" $i > $i.new
fi
done

论坛徽章:
0
7 [报告]
发表于 2003-06-16 22:10 |只看该作者

文本替换问题,请指点。

如果需要使用通配符,用[[和]]作检测是可以的,因为[]不支持通配符扩展.

论坛徽章:
0
8 [报告]
发表于 2003-06-17 09:09 |只看该作者

文本替换问题,请指点。

我按照圣骑士admirer的建议修改了脚本文件,把他放到了/bin目录下,并赋予了执行权,然后在要修改的目录中删除原来的脚本文件,进行如下操作:

#replace

屏幕显示如下:

Testing grep abc admin.php
/bin/replace: line 3: [0: command not found

......
......
......

怎么办?

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

文本替换问题,请指点。

这样试试
if [ "$?" -eq 0 ]

论坛徽章:
0
10 [报告]
发表于 2003-06-17 09:22 |只看该作者

文本替换问题,请指点。

admirer,

if [ "$?" -eq 0 ] 试过了,还是不行。

同样的结果:

Testing grep abc admin.php
/bin/replace: line 3: [0: command not found

......
......
......


怎么办?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP