社区首页 >问答首页 >在文本文件中的一行中搜索字符串,并将其复制到另一个文本文件或新变量。

在文本文件中的一行中搜索字符串,并将其复制到另一个文本文件或新变量。
EN

Stack Overflow用户
提问于 2015-07-24 02:38:14
回答 1查看 3.7K关注 0票数 2

我对batch有个问题,但我没办法支持它。我搜索了几个小时的Google和Stack溢出,现在我自己问这个问题,因为似乎没有人有这个确切的问题,或者我根本找不到它。我甚至在Google (!)上搜索了最后的结果页面。

因此,我编写了一个批处理文件,自动从服务器中提取文件名,并将它们与文件路径一起放入文本文件中。现在,我有了一个大致如下的文件:

代码语言:javascript
代码运行次数:0
复制
q:\0003730310008520150610120508\1_PY98200_00084_00085_09_20150610_140447.antfzg
q:\000649A7B0008520150630085701\1_KP40610_00084_00085_09_20150630_105647.antfzg
q:\000649A7B0008520150630085701\1_KP40610_00084_00085_09_20150630_110508.antfzg
q:\00161083B0008520150429065335\1_J281516_00084_00085_09_20150429_085326.antfzg
q:\00161083B0008520150429122000\1_PV92717_00084_00085_09_20150429_141952.antfzg
q:\00161083B0008520150515065834\1_VY65621_00084_00085_09_20150515_085802.antfzg
q:\00161083B0008520150527075722\1_D894693_00084_00085_09_20150527_095704.antfzg
q:\00161083B0008520150602075809\1_L893216_00084_00085_09_20150602_095757.antfzg
q:\00161083B0008520150608082553\1_VT04798_00084_00085_09_20150608_102033.antfzg
q:\00161083B0008520150610080050\1_LF22563_00084_00085_09_20150610_100016.antfzg
q:\00161083B0008520150623132003\1_VN57593_00084_00085_09_20150623_151927.antfzg

现在,我想在第一个示例中搜索一个类似于此的特定文章编号:PY98200 (1_后面的部分)。如果在文件中找到这一点,请将包含字符串的整行复制到一个新变量或一个新文本文件中。如果这个数字存在多次,那么所有的行也应该被复制。

我尝试了不同的用于循环,但是失败了,因为我对批处理编码没有那么丰富的经验。

EN

回答 1

Stack Overflow用户

发布于 2015-08-09 09:57:40

尼泊玛卡发布的此任务的命令行是:

代码语言:javascript
代码运行次数:0
复制
type "original_text_file.txt" | %SystemRoot%\System32\find.exe "PY98200" > "new_text_file.txt"

它是如何工作的?

类型是命令处理器cmd.exe的内部命令,它将文本文件的内容输出到通常显示在控制台窗口的stdout (标准输出)。

类型的输出为管状|,从类型stdout到标准Windows控制台应用程序的stdinE 215(标准输入)E 116查找E 217

发现是一个非常小的控制台应用程序,用于在文本文件的行中查找简单的、非正则表达式字符串,默认情况下,该字符串输出到stdout包含搜索字符串的所有行。在文件中查找字符串的一个更强大的控制台应用程序是findstr。但是find也有此任务所需的特性。

find的输出被>重定向到当前目录中的new_text_file.txt文件。

为什么不直接用文本文件的名称调用find呢?

代码语言:javascript
代码运行次数:0
复制
%SystemRoot%\System32\find.exe "PY98200" "original_text_file.txt" > "new_text_file.txt"

使用上面的命令行,find输出一个空行和另一个包含文件名的行,在包含搜索字符串的行之前。如果在多个文件中搜索包含字符串的行,并且在输出中知道哪些行来自哪个文件,这是非常有用的。

但是new_text_file.txt应该只包含包含PY98200的行,而不包含任何关于源的其他信息。因此,使用类型命令通过stdin让查找读取original_text_file.txt的内容,这避免了打印每个文件的查找输出到文件new_text_file.txt的两个标题行。

用于此任务的另一个命令行是:

代码语言:javascript
代码运行次数:0
复制
%SystemRoot%\System32\findstr.exe /C:PY98200 "original_text_file.txt" > "new_text_file.txt"

有关使用的命令(分别为控制台应用程序)的详细信息,请打开命令提示符窗口,执行以下命令,并将每个命令输出的所有帮助页读入控制台窗口。

  • type /?
  • find /?
  • findstr /?

Windows的所有标准命令/控制台应用程序都帮助使用参数/?运行它们,对于某些命令来说,这比联机文档更准确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31608362

复制
相关文章
Excel应用实践16:搜索工作表指定列范围中的数据并将其复制到另一个工作表中
“在工作表Sheet1中存储着数据,现在想要在该工作表的第O列至第T列中搜索指定的数据,如果发现,则将该数据所在行复制到工作表Sheet2中。
fanjy
2019/07/19
6.1K0
Python去除文本文件中的空行
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
4.2K0
Python 去除文本文件中的空行
功能 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中; 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/18 21:41 # @Author : cunyu # @Site : cunyu1943.github.io # @File : deleteBlankLines.py # @Software: PyCharm """ 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中 """
村雨遥
2022/06/15
1.6K0
将文本文件的内容存储在DataSet中的方法总结
本文介绍了一种将文本文件的内容存储在DataSet中的方法,包括读取文件、处理数据、创建表、填充数据和解析记录等步骤。该方法包括读取文件、处理数据、创建表、填充数据和解析记录等步骤。
彭泽0902
2018/01/04
3.4K0
问与答61: 如何将一个文本文件中满足指定条件的内容筛选到另一个文本文件中?
Q:如下图1所示,一个名为“InputFile.csv”文件,每行有6个数字,每个数字使用空格分隔开。
fanjy
2019/07/23
4.3K0
Python实现文本分词并写入新的文本文件,然后提取出文本中的关键词
先对文本进行读写操作,利用jieba分词对待分词的文本进行分词,然后将分开的词之间用空格隔断;然后调用extract_tags()函数提取文本关键词;
村雨遥
2022/06/15
1.6K0
使用tail查看并跟踪文本文件的结尾
tail命令是用于查看文本文件末尾的核心Linux实用程序。您还可以使用跟随模式查看实时添加到文件中的新行。tail类似于,用于查看文件的开头
Likenttt
2018/09/06
2.4K0
python中按字母排序_在Python中按字母顺序排序文本文件的内容
我想在文件内部按字母顺序排序。我当前执行此操作的代码不起作用,文件保持不变。这个程序本身就是一个基本的调查问卷,用来实验读写文件。在import time
用户7886150
2021/01/27
4.9K0
C语言 | 将字符串中的元音字母复制到另一个字符串中
解析:if语句判断一下每一个字母是否符合元音字母,读者看着道题的时候,需要注意一点的是如果用scanf函数是否可以,思考为什么要用gets函数?
小林C语言
2021/01/27
4.7K0
C语言 | 将字符串中的元音字母复制到另一个字符串中
Sqlldr把文本文件导入到ORACLE中
bindsize -- 常规路径绑定数组的大小 (以字节计) (默认 256000)
小徐
2019/08/05
1.7K0
在JSP页面中调用另一个JSP页面中的变量
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/16896447
DannyHoo
2018/09/13
7.8K0
文本文件比对_文本文件格式有哪些
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167648.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
9590
问与答87: 如何根据列表内容在文件夹中查找图片并复制到另一个文件夹中?
Q:如何实现根据列表内容查找文件夹中的照片,并将照片剪切或复制到另外的文件夹?如下图1所示,在列C中有一系列身份证号。
fanjy
2020/09/25
2.9K0
问与答87: 如何根据列表内容在文件夹中查找图片并复制到另一个文件夹中?
Python实现jieba对文本分词并写入新的文本文件,然后提取出文本中的关键词
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
5.1K0
读写文本文件
读取文本文件时,需要在使用open函数时指定好带路径的文件名(可以使用相对路径或绝对路径)并将文件模式设置为'r'(如果不指定,默认值也是'r'),然后通过encoding参数指定编码(如果不指定,默认值是None,那么在读取文件时使用的是操作系统默认的编码),如果不能保证保存文件时使用的编码方式与encoding参数指定的编码方式是一致的,那么就可能因无法解码字符而导致读取失败。下面的例子演示了如何读取一个纯文本文件。
用户8442333
2021/05/19
1.1K0
shell正则提取字符串中的数字并保存到变量中
tr是translate的缩写,主要用于删除文件中的控制字符,或者进行字符转换
休辞醉倒
2019/07/25
7.9K0
C#读取文本文件和C# 写文本文件
今天一个学生问我如何从一个文本中读取内容,如下是做的是控制台中的例子,在别的地方也是这个道理。
阳光岛主
2019/02/19
3.5K0
【DB笔试面试446】如何将文本文件或Excel中的数据导入数据库?
有多种方式可以将文本文件的数据导入到数据库中,例如,利用PLSQL Developer软件进行复制粘贴,利用外部表,利用SQL*Loader等方式。至于EXCEL中的数据可以另存为csv文件(csv文件其实是逗号分隔的文本文件),然后导入到数据库中。
AiDBA宝典
2019/09/30
4.6K0
将cmd中命令输出保存为TXT文本文件
例如:将Ping命令的加长包输出到D盘的ping.txt文本文件。 1、在D:目录下创建文本文件ping.txt(这步可以省略,偶尔提示无法创建文件时需要) 2、在提示符下输入ping www.idoo.org.ru -t > D:ping.txt 3、这时候发现D盘下面的ping.txt里面已经记录了所有的信息 备注: 只用“>”是覆盖现有的结果,每一个命令结果会覆盖现有的txt文件,如果要保存很多命令结果的话,就需要建立不同文件名的txt文件。 那么有没有在一个更好的办法只用一个txt文件呢?答案是肯定的,要在同一个txt文件里面追加cmd命令结果,就要用“>>”替换“>” 就可以了.
Hongten
2018/09/13
4.3K0
将cmd中命令输出保存为TXT文本文件
如何使用 Go 语言来查找文本文件中的重复行?
在编程和数据处理过程中,我们经常需要查找文件中是否存在重复的行。Go 语言提供了简单而高效的方法来实现这一任务。在本篇文章中,我们将学习如何使用 Go 语言来查找文本文件中的重复行,并介绍一些优化技巧以提高查找速度。
网络技术联盟站
2023/07/03
2110
如何使用 Go 语言来查找文本文件中的重复行?

相似问题

从文本文件中查找行并使用c#将其复制到新的文本文件中

21

在文本文件中搜索变量

37

在文本文件中搜索字符串并了解它是哪一行

25

搜索文本文件中的字符串并将其行复制到另一个文件

12

在文本文件中搜索并执行

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文