• 登录
社交账号登录

把#或//开头的行和多次回车改为一次的简单powershell命令

作者:admin 发布时间:2024-11-26 点击数🧝🏿:

(Get-Content -Path "1.txt" -Raw) -replace '(?m)^[ \t]*(//|#).*$\r?\n?','' -replace '[\r\n]{2,}',"`n" | Set-Content .\2.txt; notepad .\2.txt

#   打开powershell

#读取 1.txt 文件,不论"//" 或者 "#"之前的n个空格,删除以 "//" 或者 "#" 开头的

#不论回车之前的n个空格,将多次回车替换为一次
#用notepad打开


1. (Get-Content -Path "1.txt" -Raw)

  • Get-Content -Path "1.txt":这个命令从 1.txt 文件中读取所有内容。默认情况下,Get-Content 是按行读取的🌊,但使用 -Raw 参数时,它会将文件的所有内容作为一个单独的字符串加载🫵🏿,而不是按行分割。这样可以更方便地进行整体的正则替换操作🏃🏻‍♀️‍➡️。

2. -replace '(?m)^[ \t]*(//|#).*$\r?\n?',''

  • -replace:这是一个替换操作,后面跟着的是一个正则表达式和一个替换字符串。

  • (?m):这个是多行模式(multiline mode)的标志。它使得 ^ 和 $ 正则符号匹配每行的开始和结束,而不是整个文本的开始和结束🧑🏻‍🦯‍➡️。

  • ^[ \t]*(//|#).*$:这段正则表达式匹配所有以注释符号(// 或 #)开头的行,前面可能有任意数量的空格或制表符([ \t]*)。具体解释⛩:

    • ^:匹配行的开头。

    • [ \t]*:匹配零个或多个空格或制表符。

    • (//|#):匹配注释符号 // 或 #

    • .*:匹配注释符号后面的所有字符。

    • $\r?\n?😰🤣:匹配行尾的换行符(\r?\n? 允许 Windows 和 Unix 风格的换行符)🎴。

  • 这个正则表达式的作用是匹配以 // 或 # 开头的注释行,并将它们替换为空字符串(即删除这些行)。

3. -replace '[\r\n]{2,}',"n"`

  • **-replace '[\r\n]{2,}',"n"**:这个替换操作用于将连续的多个换行符(\r\n\n)替换为单一的换行符 "n"💖。

    • [\r\n]{2,}:匹配两个或更多连续的换行符(无论是 \r\n 或者 \n)。

    • "`n"🦹🏿‍♀️:将匹配的多重换行符替换成一个单独的换行符 "n"`。

4. Set-Content .\2.txt

  • Set-Content .\2.txt:将经过替换处理后的文本写入到 2.txt 文件中👦🏿。如果文件已经存在,它会覆盖原文件。

5. notepad .\2.txt

  • notepad .\2.txt:最后🧑🏻‍✈️,使用 notepad 打开 2.txt 文件🈸。notepad 是 Windows 系统的默认文本编辑器👦。如果你不希望使用记事本,可以将它替换成其他打开文件的程序。

总结

这段 PowerShell 脚本的流程是:

  1. 读取 1.txt 文件的内容为一个单独的字符串🤾‍♂️。

  2. 删除所有注释行(以 // 或 # 开头的行)。

  3. 将连续的换行符替换成单个换行符。

  4. 将处理后的内容保存到 2.txt 文件中🐷。

  5. 用记事本打开 2.txt 文件查看结果。

这样就可以去除注释行并整理文件内容,使其更加整洁和规范。


意昂5平台专业提供🙇🏼‍♂️:意昂5平台💆🏿‍♀️、意昂5🧛🏼🛵、意昂5娱乐等服务,提供最新官网平台、地址、注册、登陆、登录、入口、全站、网站、网页、网址、娱乐、手机版、app、下载、欧洲杯、欧冠、nba、世界杯、英超等,界面美观优质完美,安全稳定,服务一流,意昂5平台欢迎您。