Board logo

标题: [文本处理] 提取文本里包含指定字符串/关键字的行内容到新文本 [打印本页]

作者: Rasm    时间: 2017-4-11 23:41     标题: 提取文本里包含指定字符串/关键字的行内容到新文本

本帖最后由 pcl_test 于 2017-4-11 23:59 编辑
  1. 1#蕾丝海魂#
  2. 1#888zzci#
  3. 1#z371938612#
  4. 1#750166052#wangyang521c#*自拍达人*#
  5. 2#wangyang521c#
  6. 1#springwarmer#
  7. 1#RRH#
  8. 1#degengrater#
  9. 1#xxxgrandpa#
  10. 1#1234Qwert#
  11. 1#流水浮风#
  12. 1#脑袋疼#
  13. 1#toffy#
复制代码
提取包含*自拍达人* 的那行内容到新文本,要怎么写?
以下哪个批处理都倒不出新文本。文本大概有120MB

findstr /e /l /i /c:"*自拍达人*"1.txt >>tmp_.txt

@echo off
for /f %%i in (1.txt) do echo %%i | find "*自拍达人*"&&echo %%i>>tmp_.txt
pause

作者: Rasm    时间: 2017-4-11 23:48

经过测试,是因为数据太大了,导致这批处理无法处理
作者: pcl_test    时间: 2017-4-12 00:20

本帖最后由 pcl_test 于 2017-4-12 00:21 编辑

确定你不是漏了#?*自拍达人*#
  1. findstr /e /l /i /c:"*自拍达人*#" "a.txt">"b.txt"&pause
复制代码
  1. find "*自拍达人*#" "a.txt">"b.txt"&pause
复制代码
第三方http://www.bathome.net/s/tool/index.html?key=gawk
  1. gawk "/\*自拍达人\*#\s*/" "a.txt">"b.txt"&pause
复制代码

作者: codegay    时间: 2017-4-12 01:29

python3
  1. with open(r"d:\2.txt","w+",encoding="utf8") as f2,open(r"d:\1.txt") as f1:
  2.     for line in f1:
  3.         if "*自拍达人*" in line:
  4.             f2.write(line)
  5.             
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2