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

[文本处理] [已解决]批处理怎样删除文本每行指定关键字前面的全部字符?

本帖最后由 thp2008 于 2021-3-29 23:50 编辑

list.txt

adafkljsaiweiorwe-pad9043583
iweorfhsadfhjdkj-padwe9iikk
adskjfl-adkdsfaj-padwie987
43988dshj?-sdf8923-pad22332

要求,将此List.txt文件中的关键字“-pad”之前的全部字符删除掉。保留-pad本身及之后的部分。感谢!

我在网上搜索到第三方命令行工具,可以实现这个功能,下面这条命令可以成功。但是这条将-pad关键字本身也删除了,我想请大神修改一下,不要删除-pad关键字本身,如何修改,谢谢!
  1. gawk.exe "{n=index($0,\"-pad\")+3;print substr($0,n)}" list.txt > listOK.txt
复制代码
另外,我想问下,如果是删除关键字之后的全部字符,又该如何表达。

谢谢!

TOP

回复 1# thp2008
  1. sed -r "s/.*(-pad)/\1/" list.txt > listOK.txt
复制代码
http://bcn.bathome.net/s/tool/index.html?key=sed
1

评分人数

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

TOP

回复 3# Batcher


    感谢!没有问题,好用!

TOP

返回列表