[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 pcl_test 于 2016-9-13 15:56 编辑

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. sed -i "s/\*//g" a.txt
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢Batcher,删除星号是没有问题,不过这个代码还有一个小缺点,就是把所有行也合并成了一行。谢谢!

TOP

3# liht1024


我用的sed 4.1.4 + Vista SP2,没有任何问题。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 liht1024 于 2011-3-30 10:08 编辑

谢谢Batcher,可能是我没说清楚,我是在sed4.0.7+xp sp3 下运行。我用10个文件(每个文件的内容为多行)试了一下,结果是每个文件中的星号删除了,但每个文件的内容都变成了一行。

TOP

5# liht1024


换成4.1.4试试吧
http://bbs.bathome.net/thread-1114-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢Batcher,用4.1.4就好了。

TOP

  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');
复制代码

TOP

本帖最后由 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"}
复制代码

TOP

返回列表