求教各位大神:在一个 文本文件 中查找 指定内容 并保存到 文件
bat吧
全部回复
仅看楼主
level 2
有如下格式的一个文本 ***.txt 内容如下:
"nick":"abc","shopcard":
"nick":"cde","shopcard":
"nick":"edrt","shopcard":
... ...
这个格式的 "nick"和后面的"shopcard" 是固定不变的,可以做为搜索关键词,我想要得到的是中间这个“abc”
的内容,搜索以后输出到文件,只输出中间这一个不确定量"abc" "cde" "edrt" 等。
请各位大神不吝赐教!不才在此谢过了!
2016年04月29日 08点04分 1
level 2
@雪止天晴520
@bat大人
@zghwelcome
2016年04月29日 08点04分 2
level 2
@m0202192102
@黄田杰
@敖文轩321
@IBM__007
2016年04月29日 08点04分 3
level 2
@超人硬汉
吧主,行行好,帮我解答一下吧!谢谢!
2016年04月29日 08点04分 4
level 12
@echo off
(for /f "delims=" %%a in (test.txt) do (
setlocal enabledelayedexpansion
set "line=%%a"
set "line=!line:"nick":"=!"
set "line=!line:","shopcard":=!"
echo,!line!
endlocal
)
)>_ok.txt
2016年04月29日 10点04分 5
哇,谢谢大神,我赶紧去测试一下!
2016年04月29日 11点04分
@zghwelcome 我测试过了,你看一下7楼,帮我解答一下,
2016年04月29日 11点04分
level 12
方法比较多,这个是用替换已知的固定值的方式获取,还可以用 切割的方式
2016年04月29日 10点04分 6
level 2
@zghwelcome
大神,我测试 了一下,有一点疑问呀:
如果文本内容是这样的话:
asdf"nick":"119","shopcard":sadffff
asdf"nick":"119","shopcard":fdsafas
asdf"nick":"119","shopcard":fsadf
像这样的文本的话,程序会 把 关键字 前后的字符都输出到文件 _ok.txt
就像这样的输出格式 了:
asdf119sadffff
asdf119fdsafas
asdf119fsadf
怎么办,我只要这个 中间的字符 119
求解答,谢谢!
2016年04月29日 11点04分 7
level 12
太过依赖了啊
@echo off
(for /f "delims=" %%a in (test.txt) do (
setlocal enabledelayedexpansion
set "line=%%a"
for /f "tokens=2 delims=:," %%b in ("!line!") do (
set "word=%%b"
set "word=!word:"=!"
echo,!word!
)
endlocal
)
)>_ok.txt
2016年04月29日 12点04分 8
[泪]没有关键字
2016年04月29日 12点04分
@一点生活记cu 该不是用非中文系统吧
2016年04月29日 13点04分
@zghwelcome 关键字 "nick " 和关键字 "shopcard " 在这个程序段没有出现哦,怎么执行?
2016年04月29日 14点04分
@一点生活记cu test.txt改成'findstr "nick.*shopcard" test.txt' 单引号不能丟
2016年04月29日 14点04分
level 14
@grep -oP "(?<=nick...).+(?=...shopcard)" test.txt
手机党表示第三方码字方便
2016年04月29日 14点04分 9
如果文本有很多行,还要求输出到一个指定文件呢?
2016年04月29日 14点04分
level 13
话说你有没有发现你@的人都没蓝......
@人的时候要在后面空一个半角空格,而且一次最多只能@五个人
2016年05月01日 10点05分 10
1