免费注册 查看新帖 |

Chinaunix

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

看个查看。替换多个文件中内容的SHELL [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-09 22:44 |只看该作者 |倒序浏览
如何查看某个目录中的.jsp文件中含有UTF-8的文件,显示起文件名
并把起替换成GBK。
查看与替换分别应该如何写。

我写了个查看的
grep -l UTF-8  *.jsp

论坛徽章:
0
2 [报告]
发表于 2006-08-10 00:50 |只看该作者

  1. for i in `ls *.jpg`
  2. do
  3. sed -e 's/UTF-8/GBK/g' $i
  4. done
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-08-10 01:06 |只看该作者

  1. vim -e -s -c ":%s/UTF-8/GBK/g" -c ":wq!" /path/*.jsp
复制代码

BTW:没测试

论坛徽章:
0
4 [报告]
发表于 2006-08-11 22:39 |只看该作者

多谢两位老大现在问题升级一下。

查找某个目录下(包括子目录)中的文件,将JSP中的UTF-8的替换成GBK。
我写的SHELL。



  1. #!/bin/bash
  2. wgm = "kissa"
  3. echo $wgm
  4. LIST="$(find . -name "*.jsp")"

  5. for i in "$LIST"; do
  6. sed 's/java/perl/g' $i>>$i.bak
  7. done
复制代码

sed 必须重定向,但这样重定向,又报错。
我想先生成BAK,在全部重新命名为.jsp
请大家指导下。

论坛徽章:
0
5 [报告]
发表于 2006-08-11 22:58 |只看该作者

再比如说,我有相同名字的一些.java文件也要执行此替换应该怎么写

我的想法

  1. #!/bin/bash
  2. wgm = "kissa"
  3. echo $wgm
  4. LIST="$(find . -name "*.jsp")"

  5. for i in "$LIST"; do
  6. foo=${$i%%.*}.java

  7. sed 's/java/perl/g' $foo>>$foo.bak
  8. done
复制代码

这样肯定是报错的,关键是更好的描叙问题,大家帮我改下。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2006-08-12 01:20 |只看该作者
1,不阅读别人给你的回复,是个不太好的习惯
2,对变量的赋值,等号两侧是不允许有空格的
3,用sed的高的版本,支持-i开关的就可直接修改文件

论坛徽章:
0
7 [报告]
发表于 2006-08-13 18:42 |只看该作者
如果是替换JSP文件里面的UTF-8,要考虑一下只替换JSP语法里的部分,
把正文里的UTF-8也换了是有风险的,

如是是要找 UTF-8 编码的JSP文件,需要用到 file 命令
(windows用户很少遇到UTF-8编码的文件,多数都会选GB2312/GBK作为首选)
要把utf-8编码的文件转成GBK编码的文件可以用vim ,
要用到的命令是 set encoding 和 set fileencoding,然后保存退出就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP