Board logo

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

作者: 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关键字本身,如何修改,谢谢!
  1. gawk.exe "{n=index($0,\"-pad\")+3;print substr($0,n)}" list.txt > listOK.txt
复制代码
另外,我想问下,如果是删除关键字之后的全部字符,又该如何表达。

谢谢!
作者: Batcher    时间: 2021-3-29 23:18

回复 1# thp2008
  1. 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://bbs.bathome.net/) Powered by Discuz! 7.2