我正在寻找一些正则表达式的帮助.
我有一个文本文件,没有什么超级重要,但我想删除它的每一行 - 我尝试按照本指南:删除记事本中的每隔一行++
但是,我无法让它工作,我正在使用正则表达式吗?我是正则表达式的noob
找:
([^\n]*\n)[^\n]*\n
Run Code Online (Sandbox Code Playgroud)
用...来代替:
$1
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么(开头的鼠标位置,ctrl + a和全部替换)我都无法让它工作.我感谢任何帮助.
我把正则表达式放在这里:http://regexpal.com/如果我删除了最终\n它会突出显示各行.
我有一个有n行的文件.(n超过1亿)
我想输出一个只有10行中的1行的文件,我不能将文件分成十部分而只保留一部分,因为它必须更随机一点.后来我必须做一个统计分析,我不能在数据中产生强烈的偏见.
我正在考虑读取文件和每个记录,如果记录号mod 10然后输出它.
限制是:
它是一台Windows(可能是硬化的)计算机,可能是XP Vista或Windows Server 2003.
没有可用的开发工具
没有网络,USB,CD-ROM.不读外部通讯.
因此,我在考虑Windows批处理文件(我不能假设powershell,并且可能已删除了vbscript).目前正在查看FOR/F命令.我仍然不是专家,我不知道如何实现这一目标.
谢谢保罗的回答.我重新格式化(使用Hosam帮助)将其放入批处理文件中的答案:
@echo off
setlocal
findstr/N . inputFile| findstr ^[0-9]*0: >temporaryFile
FOR /F "tokens=1,* delims=: " %%i in (temporaryfile) do echo %%j > outputFile
Run Code Online (Sandbox Code Playgroud)
感谢quux和Pax提供类似的替代解决方案.然而,在对较大文件进行快速测试后,Paul的答案大约快了8倍.我想评估(在SET中)有点慢,即使逻辑看起来很棒.
我有一个文件,其中每一行都是重复的(不幸的是)。
My Name Is John
My Name Is John
I'm 30 years old
I'm 30 years old
New York is my home town
New York is my home town
Run Code Online (Sandbox Code Playgroud)
我想“恢复”重复,换句话说,选择每隔一行并删除它。有没有办法在 VS Code 中使用正则表达式替换?
(在 mac 上工作,所以像这里这样的 Notepad++ 解决方案无关紧要。我知道可以使用 bash,但我想尝试在 VS Code 中做到这一点)