Linux作业记录(第三章)

2023年 10月 7日 68.5k 0

进入和退出vi的方法有哪些?

Vi(Visual editor)是一种强大的文本编辑器,常用于Unix和Linux系统。下面是进入和退出Vi编辑器的几种常见方法:

进入Vi编辑器:

  • 打开终端,并输入以下命令来编辑一个新文件或打开一个已存在的文件:
    vi filename
    

    其中,filename是您要编辑的文件名。

  • 退出Vi编辑器:

  • 在命令模式(Command mode)下,按下冒号(:)进入命令行模式。
  • 输入以下命令并按回车键来执行退出操作:
    • 保存并退出:
      wq
      

      x
      
    • 不保存并退出:
      q!
      
  • 在Vi编辑器内,还有其他一些常用的命令:

    • 进入编辑模式:
      • 在命令模式下,按下小写字母 i 可以进入插入模式,开始编辑文件。
      • 您还可以使用其他一些命令切换到插入模式,如 a(追加)、o(在下一行插入新行)等。
    • 保存文件:
      • 在命令模式下,输入 :w 命令并按回车键,可以保存文件而不退出Vi。
    • 退出到命令模式:
      • 在插入模式下,按下 Esc 键,可以返回到命令模式。

    需要注意的是,Vi编辑器是一个强大而复杂的编辑器,具有许多高级功能和命令。以上是其中一些基本的进入和退出Vi的方法,可作为入门使用。如果需要更深入地使用Vi,建议查阅相关文档或教程来了解更多命令和操作技巧。

    vi 编辑器的工作方式有哪些?相互间如何转换?

    Vi编辑器有两种主要的工作模式:命令模式(Command mode)和插入模式(Insert mode)。这两种模式在Vi中相互转换,以提供不同的编辑功能。

  • 命令模式(Command mode):

    • 进入Vi时的默认模式。
    • 用户可以执行各种命令,如移动光标、复制、粘贴、删除、查找、替换等。
    • 在命令模式下,键入字符会被解释为命令,而不是插入文本。
  • 插入模式(Insert mode):

    • 用户可以输入和编辑文本内容。
    • 在命令模式下按下 i 键可进入插入模式。
    • 在插入模式中,键入字符会直接添加到文本中,不会被解释为命令。
    • 可以通过按下 Esc 键或执行特定的命令来退出插入模式并返回到命令模式。
  • 转换方式:

    • 从命令模式切换到插入模式:

      • 按下 i 键:光标会移动到当前位置,可以开始编辑文本。
      • 按下 a 键:光标会移动到下一个位置,可以开始编辑文本。
      • 按下 o 键:光标会移动到下一行的行首,并在其上插入新行。
      • 按下 A 键:光标会移动到当前行的末尾,并开始编辑文本。
      • 按下其他插入命令键。
    • 从插入模式切换到命令模式:

      • 按下 Esc 键:退出插入模式并返回到命令模式。

    在命令模式下,可以使用许多命令执行各种编辑操作,如:

    • 移动光标:h(左)、j(下)、k(上)、l(右)等。
    • 复制、剪切和粘贴文本。
    • 删除字符、行或选定的文本块。
    • 查找和替换文本。
    • 保存修改。
    • 退出Vi编辑器。

    这些是Vi编辑器的基本工作方式和模式切换方法。Vi还具有许多其他高级功能和命令,可以根据编辑任务的需要进行学习和使用。

    建立一个文本文件,如会议通知。

    (1)建立文件notes, 并统计其大小。

    (2)重新编辑文件notes,加上一-个适当的标题。

    (3)修改notes中开会的时间和地点。

    (4) 删除文件中第3行,然后予以恢复。

    以下是在Vi编辑器中执行上述操作的步骤:

  • 建立文件notes,并统计其大小:

    打开终端并输入以下命令来创建名为notes的文本文件,并使用ls命令检查文件大小:

    vi
    notes
    

    您会进入Vi编辑器的命令模式。按下小写字母
    i
    进入插入模式,开始编辑文件。输入会议通知的内容,并按下
    Esc
    键返回到命令模式。

    在命令模式下使用以下命令查看文件大小:

    ls - l
    notes
    

    文件的大小将以字节为单位显示。

    2.重新编辑文件notes,加上一个适当的标题:

    在命令模式下,将光标放在文件的第一行,并按下小写字母
    i
    进入插入模式。输入适当的标题并按下
    Esc
    键返回到命令模式。

    3.修改notes中开会的时间和地点:

    在命令模式下,使用合适的移动光标命令将光标定位到包含开会时间和地点的行上,并按下小写字母
    i
    进入插入模式。修改时间和地点信息后,按下
    Esc
    键返回到命令模式。

    4.删除文件中第3行,然后予以恢复:

    为了删除文件中的第3行,您可以在命令模式下将光标移动到该行上,并执行以下命令:

    :3
    d
    

    这将删除第3行。要恢复被删除的行,您可以按下
    u
    键(小写字母
    "u")来撤销最后一次修改,或者输入以下命令来恢复整个文件的内容:

    :e!
    

    这将重新加载文件,将所有未保存的更改恢复为最近的保存状态。

    完成上述步骤后,您可以使用以下命令保存并退出Vi编辑器:

    :wq
    

    这会将对文件的更改保存并退出Vi编辑器。

    建立一个文本文件,将光标移至第5行上。分别利用c、C和cc命令进行修改。

    要建立一个文本文件并将光标移至第5行上,可以执行以下步骤:

    1.打开终端并输入以下命令以创建一个名为
    myfile.txt
    的文本文件:

    vi
    myfile.txt
    

    2.在Vi编辑器中,按下小写字母
    i
    进入插入模式。输入一些文本内容,并按下
    Enter
    键来创建新的行和文本。重复此过程,直到达到第5行。

    3.在第5行上移动光标:

    在命令模式下,使用以下命令将光标移动到第5行上:

    :5
    

    这将将光标定位在第5行的开头。

    4.使用
    c
    命令进行修改:

    • 输入
      c
      命令,然后按下移动光标的命令(例如,l
      向右移动一个字符)以选择要修改的文本。然后输入新的文本内容,并按下
      Esc
      键返回命令模式。例如:
    cell
    

    这将修改当前光标所在位置的字符,并将您的输入作为新的内容。

    5.使用
    C
    命令进行修改:

    • 输入
      C
      命令,然后输入新的文本内容,并按下
      Esc
      键返回命令模式。这将使光标停留在当前行,然后将该行的其余部分删除并进行修改。

    6.使用
    cc
    命令进行修改:

    • 输入
      cc
      命令,然后输入新的文本内容,并按下
      Esc
      键返回命令模式。这将替换当前行的全部内容。

    完成上述步骤后,您可以保存并退出Vi编辑器,使用以下命令:

    :wq
    

    这将保存对文件的修改并退出Vi编辑器。

    在vi之下,上、下、左、右移动光标的方式有哪些?

    在Vi编辑器中,可以使用以下命令来在文本中移动光标:

  • 上移光标:

    • 使用 k 键:按下 k 键将光标向上移动一行。
    • 使用向上箭头键(如果支持):按下向上箭头键将光标向上移动一行。
  • 下移光标:

    • 使用 j 键:按下 j 键将光标向下移动一行。
    • 使用向下箭头键(如果支持):按下向下箭头键将光标向下移动一行。
  • 左移光标:

    • 使用 h 键:按下 h 键将光标向左移动一个字符。
    • 使用向左箭头键(如果支持):按下向左箭头键将光标向左移动一个字符。
  • 右移光标:

    • 使用 l 键:按下 l 键将光标向右移动一个字符。
    • 使用向右箭头键(如果支持):按下向右箭头键将光标向右移动一个字符。
  • 这些命令可以在Vi编辑器的命令模式下使用,可让您在文本中灵活地移动光标。

    解释下述vi命令的功能:
    20G 
    
    18| 
    
    dM
    
    6H
    
    d4B
    
    x
    
    cw
    
    10cc
    
    3rk
    
    5s
    
    7S 
    
    > 8M 
    
    /this
    
    ?abc?-5
    
    mg
    
    g/int/p
    

    以下是对每个Vi命令的功能解释:

    • 20G:将光标移动到文件的第20行。这是一个组合命令,由数字20和大写字母G组成,G表示"Go to"。

    • 18|:将光标移动到当前行的第18列。这是一个组合命令,由数字18和竖线符号组成,表示将光标放置在指定列上。

    • dM:删除光标位置到当前屏幕中间的所有文本。这是一个组合命令,由小写字母d和大写字母M组成,d表示删除,M表示屏幕中间。

    • 6H:将光标移动到当前屏幕顶部的第6行。这是一个组合命令,由数字6和大写字母H组成,H表示屏幕顶部。

    • d4B:删除光标位置到当前单词的第4个单词边界之间的所有文本。这是一个组合命令,由小写字母d、数字4和大写字母B组成,d表示删除,B表示单词边界。

    • x:删除光标所在位置的单个字符。这是一个简单命令,用于删除单个字符。

    • cw:删除当前光标所在位置的单词并进入插入模式。这是一个组合命令,由小写字母c和小写字母w组成,c表示修改(删除并进入插入模式),w表示单词。

    • 10cc:删除当前行及以下10行并进入插入模式。这是一个组合命令,由数字10和两个小写字母c组成,表示删除并进入插入模式。

    • 3rk:将字符k替换光标位置及其之后的第3个字符。这是一个组合命令,由数字3和小写字母r组成,r表示替换一个字符。

    • 5s:删除光标位置之后的第5个字符并进入插入模式。这是一个组合命令,由数字5和小写字母s组成,表示删除并进入插入模式。

    • 7S:删除当前行及以下7行的所有文本并进入插入模式。这是一个组合命令,由数字7和大写字母S组成,表示删除并进入插入模式。

    • > 8M:将当前行及以下8行的文本向右缩进一个制表符的距离。这是一个组合命令,由大于号>、数字8和大写字母M组成,表示缩进。

    • /this:在文档中查找字符串"this",并将光标定位到第一个匹配项。这是一个组合命令,以斜杠/和字符串"this"开头,表示搜索。

    • ?abc?-5:在文档中逆向查找字符串"abc",并将光标定位到第一个匹配项之前的第5行。这是一个组合命令,以问号?和字符串"abc"开头,表示逆向搜索。

    • mg:在当前光标位置设定标记"g",以供随后的跳转使用。这是一个组合命令,由小写字母m和字母g组成,m表示设定标记。

    • g/int/p:列出包含字符串"int"的所有行。这是一个组合命令,以字母g开头,接着是以斜杠/开头的模式"int",最后是字母p,表示打印行。

    这些Vi命令提供了在编辑器中移动、删除、替换、查找等功能,使得文本编辑更加高效和便捷。

    请你举出与其相对应的代码示例。

    当然,以下是一些与之前提到的Vi命令相对应的代码示例:

    • 20G: 在Python中,可以用以下代码将光标移动到文件的第20行:
    file.seek(0)  # 将文件指针移动到文件开头
    for _ in range(19):
        file.readline()  # 逐行读取直到达到第19行
    target_line = file.readline()  # 读取第20行
    
    • 18|: 在Python中,可以使用以下代码将光标移动到当前行的第18列:
    line = "This is a sample line with 18 columns"
    target_column = 18
    selected_text = line[:target_column]
    
    • dM: 在Python中,可以使用以下代码删除光标位置到当前屏幕中间的所有文本:
    text = "This is the beginning. Here is some text. This is the end."
    middle_index = len(text) // 2
    remaining_text = text[:middle_index]
    
    • 6H: 在Python中,可以使用以下代码将光标移动到当前屏幕顶部的第6行:
    lines = ["Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7", "Line 8"]
    target_line = lines[5]  # 第6行
    
    • d4B: 在Python中,可以使用以下代码删除光标位置到当前单词的第4个单词边界之间的所有文本:
    text = "This is a sample text for demonstration purposes"
    words = text.split()
    remaining_words = words[:3] + words[7:]
    remaining_text = ' '.join(remaining_words)
    
    • x: 在Python中,可以使用以下代码删除光标所在位置的单个字符:
    text = "Hello"
    index = 2  # 光标所在位置
    remaining_text = text[:index] + text[index+1:]
    
    • cw: 在Python中,可以使用以下代码删除当前光标所在位置的单词并进入插入模式:
    text = "This is a sample text"
    current_word = "is"
    insert_text = "was"
    remaining_text = text.replace(current_word, insert_text, 1)
    
    • 10cc: 在Python中,可以使用以下代码删除当前行及以下10行并进入插入模式:
    lines = ["Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7", "Line 8", "Line 9", "Line 10", "Line 11", "Line 12"]
    current_line_index = 2  # 当前行的索引
    num_lines_to_delete = 10
    del lines[current_line_index:current_line_index + num_lines_to_delete]
    
    • 3rk: 在Python中,可以使用以下代码将字符k替换光标位置及其之后的第3个字符:
    text = "abcxyz"
    index = 2  # 光标所在位置
    replacement = "d"
    text = text[:index] + replacement + text[index+4:]
    
    • 5s: 在Python中,可以使用以下代码删除光标位置之后的第5个字符并进入插入模式:
    text = "This is some text"
    index = 5  # 光标所在位置
    remaining_text = text[:index] + text[index+6:]
    
    • 7S: 在Python中,可以使用以下代码删除当前行及以下7行的所有文本并进入插入模式:
    lines = ["Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7", "Line 8", "Line 9", "Line 10", "Line 11", "Line 12", "Line 13", "Line 14"]
    current_line_index = 3  # 当前行的索引
    num_lines_to_delete = 7
    del lines[current_line_index:current_line_index + num_lines_to_delete]
    
    • 8M: 在Python中,可以使用以下代码将当前行及以下8行的文本向右缩进一个制表符的距离:

    lines = ["Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7", "Line 8", "Line 9", "Line 10"]
    current_line_index = 4  # 当前行的索引
    num_lines_to_indent = 8
    for i in range(current_line_index, current_line_index + num_lines_to_indent):
        lines[i] = '\t' + lines[i]
    
    • /this: 在Python中,可以使用以下代码在文档中查找字符串"this",并将光标定位到第一个匹配项:
    text = "This is a sample text. This is the second occurrence of 'this'"
    search_word = "this"
    index = text.index(search_word)
    
    • ?abc?-5: 在Python中,可以使用以下代码在文档中逆向查找字符串"abc",并将光标定位到第一个匹配项之前的第5行:
    lines = ["Line 1", "Line 2", "Line 3", "abc", "Line 4", "Line 5", "Line 6", "Line 7", "abc"]
    search_word = "abc"
    found_index = -1
    for i, line in enumerate(reversed(lines)):
        if search_word in line:
            found_index = len(lines) - i - 1
            break
    target_line = lines[found_index - 5]
    
    • mg: 在Python中,可以使用以下代码在当前光标位置设定标记"g",以供随后的跳转使用:
    line_index = 5  # 当前行的索引
    bookmark = 'g'
    bookmarks = {}
    bookmarks[bookmark] = line_index
    
    • g/int/p: 在Python中,可以使用以下代码列出包含字符串"int"的所有行:
    lines = ["This is a sample line", "1234", "Some text with int", "Integer value: 5", "Final line"]
    search_word = "int"
    matching_lines = [line for line in lines if search_word in line]
    

    如果希望进入vi后光标位于文件的第10行上,那么应输入什么命令?

    要在进入 Vim 编辑器后使光标位于文件的第 10 行上,可以通过以下命令实现:

    vi +10 filename
    

    这个命令会打开名为 filename 的文件,并将光标定位在第 10 行上。你可以将 filename 替换为你需要编辑的实际文件名。

    在进入 Vim 后,你可以使用 j 键向下移动光标到下一行,或使用 k 键向上移动光标到上一行。

    请你用C语言来描述上述的过程

    要在C语言中实现进入Vim编辑器后将光标定位到文件的第10行,你可以使用系统调用(system call)来执行Shell命令。下面是一个示例代码:

    #include 
    
    int main() {
        system("vi +10 filename");
        return 0;
    }
    

    在上述代码中,我们使用了C标准库的 system 函数来执行Shell命令。system("vi +10 filename") 会打开名为 filename 的文件,并将光标定位到第10行上。你可以将 filename 替换为你需要编辑的实际文件名。

    请注意,这种方法依赖于底层操作系统,因此在不同操作系统或环境中的行为可能会有所不同。另外,这种方法也可能存在安全风险,因为它允许执行任意Shell命令。在实际应用中,请确保谨慎使用,并对用户输入进行适当的验证和过滤,以防止潜在的安全问题。

    不管文件中某一行被编辑了多少次,总能把它恢复成被编辑之前的样子,应使用什么命令?

    要在Vim中将文件中某一行恢复为编辑之前的样子,可以使用该行所在的行号和撤销命令 u(undo)来实现。具体步骤如下:

  • 首先,使用 :undo 命令(或缩写形式 :u)来查看最近的撤销历史记录。这将显示最近的编辑操作以及每个操作所影响的行号。

  • 根据撤销历史记录中的信息确定要恢复的某一行的行号。

  • 使用 :u 行号 命令(或缩写形式 :u 行号)将指定行号的行恢复到编辑之前的状态。注意,行号是按照撤销历史记录中显示的行号进行指定的。

  • 下面是一个示例:

    :undo    # 查看撤销历史记录
    :u 行号  # 恢复指定行号的行
    

    请确保使用正确的行号来恢复目标行。撤销命令 u 只能撤销最近的操作,如果之前的操作已经被撤销或超过了缓冲区的历史记录限制,可能无法恢复到之前的状态。

    请你举出与其相对应的代码示例。

    要在C代码中实现将文件中某一行恢复为编辑之前的样子,你需要使用文件操作函数来读取和写入文件内容,并根据需要进行撤销操作。以下是一个示例代码:

    #include 
    #include 
    
    #define MAX_LINE_LENGTH 1000
    
    // 撤销指定行的内容
    void undoLine(FILE *file, int lineNumber) {
        char line[MAX_LINE_LENGTH];
        long currentPosition;
    
        // 将文件指针移动到指定行
        fseek(file, 0, SEEK_SET);
        for (int i = 1; i < lineNumber; i++) {
            if (fgets(line, MAX_LINE_LENGTH, file) == NULL) {
                fprintf(stderr, "指定的行号不存在!\n");
                return;
            }
        }
    
        // 记录当前文件指针位置
        currentPosition = ftell(file);
    
        // 读取指定行内容
        if (fgets(line, MAX_LINE_LENGTH, file) == NULL) {
            fprintf(stderr, "指定的行号不存在!\n");
            return;
        }
    
        // 恢复指定行内容
        fseek(file, currentPosition, SEEK_SET);
        fputs(line, file);
    }
    
    int main() {
        int lineNumber;
        FILE *file = fopen("filename.txt", "r+");  // 打开文件以读写方式
    
        if (file == NULL) {
            fprintf(stderr, "文件打开失败!\n");
            return 1;
        }
    
        printf("请输入要恢复的行的行号:");
        scanf("%d", &lineNumber);
    
        undoLine(file, lineNumber);
    
        fclose(file);  // 关闭文件
    
        return 0;
    }
    

    在上述代码中,我们定义了一个函数 undoLine,用于撤销指定行的内容。

    undoLine 函数中,我们首先将文件指针移动到指定行的位置,然后保存当前指针位置。接下来,我们读取指定行的内容,并将文件指针恢复到原始位置,然后将内容写回文件,实现了撤销操作。

    main 函数中,我们打开了一个名为 filename.txt 的文件,并要求用户输入要恢复的行号。然后调用 undoLine 函数进行行的撤销操作,最后关闭文件。

    请注意,以上代码仅仅是描述了如何在C语言中实现行的撤销操作,并没有进行错误处理和输入合法性检查。在实际应用中,可能需要进行更多的验证、错误处理和保护措施。

    请你用python来描述上述的过程

    在Python中,要实现将文件中某一行恢复为编辑之前的样子,可以使用文件读写和列表操作来实现。以下是一个示例代码:

    def undo_line(filename, line_number):
        with open(filename, 'r+') as file:
            lines = file.readlines()  # 读取文件内容为列表
            if line_number  len(lines):
                print('指定的行号不存在!')
                return
    
            # 恢复指定行内容
            lines[line_number - 1] = lines[line_number - 1].rstrip() + '\n'
    
            file.seek(0)  # 将文件指针移动到文件开头
            file.writelines(lines)  # 写入修改后的内容
    
    
    filename = 'filename.txt'  # 要编辑的文件名
    line_number = 10  # 要恢复的行号
    
    undo_line(filename, line_number)
    

    以上代码定义了一个名为
    undo_line
    的函数。在该函数中,我们首先使用
    with open 语句打开文件,使用参数 'r+' 表示以读写模式打开文件。

    然后,我们使用
    file.readlines
    函数读取文件的所有行,将其存储在名为
    lines
    的列表中。接下来,我们检查指定的行号是否在有效范围内。如果行号不在有效范围内,我们打印一条错误消息并返回。

    如果行号有效,我们将列表中对应行的内容进行恢复,即去除行尾的换行符,并在末尾再次添加换行符。

    最后,我们将文件指针移动到文件开头,使用
    file.writelines
    函数将修改后的内容写回文件中。

    请将示例代码中的
    filename

    line_number
    替换为实际的文件名和要恢复的行号。在运行代码之前,请确保文件存在并有相应的读写权限。

    需要注意的是,以上代码没有进行错误处理和输入合法性检查。在实际应用中,可能需要添加更多的验证和错误处理逻辑。

    要将编辑文件中所有的字符串s1全部用字符串s2替换,包括在一行中多次出现的字符串,应使用什么命令格式?

    在Python中,要将编辑文件中的所有字符串s1替换为字符串s2,可以使用字符串的replace()方法。以下是要使用的命令格式:

    with open(filename, 'r') as file:
        content = file.read()
    
    new_content = content.replace(s1, s2)
    
    with open(filename, 'w') as file:
        file.write(new_content)
    

    在以上代码中,我们首先使用with open语句以只读模式打开文件,读取文件的全部内容并将其存储在变量content中。

    然后,我们使用replace方法将字符串content中的所有s1替换为s2,生成替换后的新内容new_content

    最后,我们再次使用with open语句以写入模式打开文件,将新内容new_content写入到文件中,这样就实现了将所有s1替换为s2的操作。

    请将代码中的filename替换为实际的文件名,s1替换为要替换的字符串,s2替换为目标字符串。运行代码之前,请确保文件存在并有相应的读写权限。

    请注意,这种替换是对整个文件内容进行的,并不会考虑词语边界或上下文。如果需要更精确的替换,可以考虑使用正则表达式或其他更复杂的匹配逻辑。

    额 Linux

    在Linux中,可以使用sed命令来将文件中的字符串s1全部替换为字符串s2。以下是sed命令的格式:

    sed -i 's/s1/s2/g' filename
    

    其中,s1是要替换的字符串,s2是目标字符串,filename是要进行替换的文件名。

    命令中的-i选项表示直接在文件中进行替换,并且不创建临时文件。s/s1/s2/gsed命令的替换表达式,通过在斜杠之间指定s1s2来进行替换,g表示替换所有出现的匹配项。

    请将命令中的s1替换为要替换的字符串,s2替换为目标字符串,以及filename替换为实际的文件名。在运行命令之前,请确保文件存在并具有相应的读写权限。

    同样地,需要注意该替换是按照字符串匹配进行的,并不会考虑词语边界或上下文。如果需要更精确的替换,可以使用正则表达式或其他更复杂的匹配逻辑。

    请你举出与其相对应的代码示例。

    在Linux中,可以使用subprocess模块在Python中执行系统命令。以下是一个使用subprocess模块执行sed命令来替代文件中的字符串的代码示例:

    import subprocess
    
    def replace_string(filename, s1, s2):
        command = f"sed -i 's/{s1}/{s2}/g' {filename}"
        subprocess.run(command, shell=True)
    
    filename = 'filename.txt'  # 要替换的文件名
    s1 = 'old_string'  # 要替换的字符串
    s2 = 'new_string'  # 目标字符串
    
    replace_string(filename, s1, s2)
    

    在以上示例代码中,我们定义了一个名为replace_string的函数,它接受文件名(filename)、要替换的字符串(s1)和目标字符串(s2)作为参数。

    在函数内部,我们构建了一个命令字符串,使用sed命令的替换表达式来指定要替换的字符串和目标字符串。然后,我们使用subprocess.run函数来执行该命令。

    shell=True参数表示在shell环境下执行命令。

    最后,我们将文件名、要替换的字符串和目标字符串作为参数传递给replace_string函数,即可实现使用sed命令在Python中替换文件中的字符串。

    请将示例代码中的filename替换为实际的文件名,s1替换为要替换的字符串,s2替换为目标字符串。在运行代码之前,请确保文件存在并具有相应的读写权限。

    需要注意的是,在使用subprocess执行系统命令时,请小心处理输入的字符串,以避免潜在的安全风险。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论