标题: [文本处理] [已解决]批处理怎样删除文本每行指定关键字前面的全部字符? [打印本页]
作者: thp2008 时间: 2021-3-29 21:37 标题: [已解决]批处理怎样删除文本每行指定关键字前面的全部字符?
本帖最后由 thp2008 于 2021-3-29 23:50 编辑
list.txt
adafkljsaiweiorwe-pad9043583
iweorfhsadfhjdkj-padwe9iikk
adskjfl-adkdsfaj-padwie987
43988dshj?-sdf8923-pad22332
要求,将此List.txt文件中的关键字“-pad”之前的全部字符删除掉。保留-pad本身及之后的部分。感谢!
作者: thp2008 时间: 2021-3-29 22:41
我在网上搜索到第三方命令行工具,可以实现这个功能,下面这条命令可以成功。但是这条将-pad关键字本身也删除了,我想请大神修改一下,不要删除-pad关键字本身,如何修改,谢谢!- gawk.exe "{n=index($0,\"-pad\")+3;print substr($0,n)}" list.txt > listOK.txt
复制代码
另外,我想问下,如果是删除关键字之后的全部字符,又该如何表达。
谢谢!
作者: Batcher 时间: 2021-3-29 23:18
回复 1# thp2008 - sed -r "s/.*(-pad)/\1/" list.txt > listOK.txt
复制代码
http://bcn.bathome.net/s/tool/index.html?key=sed
作者: thp2008 时间: 2021-3-29 23:49
回复 3# Batcher
感谢!没有问题,好用!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |