最近this问题被贴在stackoverflow上,我有一个和J类似的问题。Williams所做的,除了我只需要删除空行(删除空格不会伤害程序,但它只是没有必要)。当我尝试他的原始以及解决方案compo给它只清除文件,而不是删除额外的行。我在批处理文件中单独使用它。
例如:我需要这个:
Joe
Bob
Mark
Frank
Dutch
(blank line here too)
字符串
变成这样
Joe
Bob
Mark
Frank
Dutch
型
我也愿意将这样的解决方案附加到这个powershell脚本中,因为它给了我空白行:(Get-Content friends.txt) | Where-Object {$_ -notmatch "\bJoe\b"} | Set-Content friends.txt
感谢您的帮助。
3条答案
按热度按时间tyg4sfes1#
这应该对您有用--简而言之,它读取文件的所有行,然后只将其中包含内容的行写回文件。
字符串
izj3ouym2#
如果是一个相对较小的文件:
字符串
如果它太大而无法一次读入内存:
型
pftdvrlh3#
另一种PowerShell方法是使用正则表达式模式
.+
的Select-String
cmdlet,这意味着一个或多个任何字符。另外,如果使用Set-Content
,请确保使用-NoNewLine
参数,以防止在末尾出现不需要的空行。(需要PS5+)字符串