找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30819|回复: 8

[文本处理] [已解决]批处理怎样删除文本中的*星号?

[复制链接]
发表于 2011-3-29 10:56:32 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-13 15:56 编辑

我有许多文本文件,每一个文本文件中都有许多*号,想求一批处理,删除文本中的*号,并直接保存在原文件而不形成新文件,谢谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-3-29 14:35:46 | 显示全部楼层
  1. sed -i "s/\*//g" a.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
liht1024 + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-3-29 16:03:38 | 显示全部楼层
谢谢Batcher,删除星号是没有问题,不过这个代码还有一个小缺点,就是把所有行也合并成了一行。谢谢!
发表于 2011-3-29 18:56:15 | 显示全部楼层
3# liht1024


我用的sed 4.1.4 + Vista SP2,没有任何问题。
 楼主| 发表于 2011-3-30 10:06:04 | 显示全部楼层
本帖最后由 liht1024 于 2011-3-30 10:08 编辑

谢谢Batcher,可能是我没说清楚,我是在sed4.0.7+xp sp3 下运行。我用10个文件(每个文件的内容为多行)试了一下,结果是每个文件中的星号删除了,但每个文件的内容都变成了一行。
发表于 2011-3-30 12:26:57 | 显示全部楼层
5# liht1024


换成4.1.4试试吧
http://bbs.bathome.net/thread-1114-1-1.html
 楼主| 发表于 2011-3-30 12:54:40 | 显示全部楼层
谢谢Batcher,用4.1.4就好了。
发表于 2016-9-13 16:03:25 | 显示全部楼层
  1. //&cls&dir /a-d/b *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit

  2. var fso = new ActiveXObject('Scripting.FileSystemObject');
  3. while(!WSH.StdIn.AtEndOfStream){
  4.     var line = WSH.StdIn.ReadLine();
  5.     var f = fso.OpenTextFile(line, 1);
  6.     var text = f.ReadAll().replace(/\*/g, '');
  7.     f.Close();
  8.     //覆盖写入源文件
  9.     fso.OpenTextFile(line, 2).Write(text);
  10. }
  11. WSH.echo('Done');
复制代码
发表于 2016-9-13 16:14:01 | 显示全部楼层
本帖最后由 pcl_test 于 2016-9-13 16:17 编辑
  1. #*第三方http://www.bathome.net/s/tool/index.html?key=gawk
  2. #*&cls&dir /a-d/b *.txt|gawk -f "%~f0"&pause&exit

  3. BEGIN{
  4.     while(getline file>0){
  5.         s="";
  6.         while(getline<file>0){
  7.             gsub(/\*/,"");
  8.             s=s""$0"\n";
  9.         }
  10.         close(file);
  11.         printf s>file;
  12.     }
  13. }
  14. END{print "Done"}
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 02:42 , Processed in 0.031090 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表