首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在指定字符串后通过CMD向文件中添加一行?

在 Windows 的命令提示符(CMD)中,你可以使用多种方法在指定字符串后向文件中添加一行。以下是几种常见的方法:

方法 1:使用 findstrfor 循环

你可以使用 findstr 命令找到指定字符串所在的行,然后使用 for 循环和 echo 命令将新行添加到文件中。

假设你有一个文件 example.txt,内容如下:

代码语言:javascript
复制
line 1
line 2
line 3

你想在 line 2 后添加一行 new line

代码语言:javascript
复制
@echo off
setlocal enabledelayedexpansion

set "search=line 2"
set "newline=new line"
set "tempfile=temp.txt"

(for /f "tokens=*" %%A in (example.txt) do (
    echo %%A
    if "%%A"=="%search%" echo %newline%
)) > %tempfile%

move /y %tempfile% example.txt

方法 2:使用 PowerShell

你也可以使用 PowerShell 脚本来实现这一点。PowerShell 提供了更强大的文本处理功能。

代码语言:javascript
复制
powershell -Command "& {
    $filePath = 'example.txt';
    $search = 'line 2';
    $newLine = 'new line';
    $content = Get-Content $filePath;
    $newContent = @();
    foreach ($line in $content) {
        $newContent += $line;
        if ($line -eq $search) {
            $newContent += $newLine;
        }
    }
    $newContent | Set-Content $filePath;
}"

方法 3:使用 sed(适用于 Git Bash 或 Cygwin)

如果你在 Windows 上安装了 Git Bash 或 Cygwin,你可以使用 sed 命令来实现这一点。

代码语言:javascript
复制
sed '/line 2/a new line' example.txt > temp.txt && mv temp.txt example.txt

方法 4:使用 awk(适用于 Git Bash 或 Cygwin)

同样地,如果你在 Windows 上安装了 Git Bash 或 Cygwin,你可以使用 awk 命令来实现这一点。

代码语言:javascript
复制
awk '{print} /line 2/ {print "new line"}' example.txt > temp.txt && mv temp.txt example.txt
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券