使用 Sed 命令在 Linux 中追加文本

2023-10-13

Sed提供根据特定模式或条件将文本附加到文件中的行的能力。

您可以使用a\命令输入sed在模式匹配后添加新行。

让我们深入研究现实世界的示例,以了解如何有效地利用此功能。

 

目录 hide

 

在匹配的模式后添加一行

假设您有一个名为的配置文件config.txt包含以下内容:


server {
    listen 80;
    server_name example.com;
}
  

您想在之后添加评论server_name指令来提醒自己其目的。


sed '/server_name/a\    # This is the domain name for our server' config.txt
  

Output:


server {
    listen 80;
    server_name example.com;
    # This is the domain name for our server
}
  

The sed命令的工作原理如下:

  1. /server_name/:这将在文件中搜索模式“server_name”。
  2. a\:这是追加命令sed。它说sed附加以下文本。
  3. # This is the domain name for our server:这是您要附加的文本。请注意,注释前的空格有助于保持文件中的格式。

如果您想直接保存对文件的更改,可以使用-i标志与sed:


sed -i '/server_name/a\    # This is the domain name for our server' config.txt
  

执行该命令后,config.txt将使用附加文本进行适当修改。

 

在匹配的模式后追加多行

假设你有一个配置文件,config.txt,其结构如下:


database {
    user db_user;
    password db_pass;
}
  

您希望在后面添加几行注释password为了清楚起见指令。


sed '/password/a\    # Ensure to change the password regularly.\n    # Contact the DB admin for more details.' config.txt
  

Output:


database {
    user db_user;
    password db_pass;
    # Ensure to change the password regularly.
    # Contact the DB admin for more details.
}
  

The \n代表一个新行,使我们能够在第一行之后立即添加另一行。

 

使用基本正则表达式进行模式匹配

基本正则表达式 (BRE) 有助于定义比精确字符串匹配更灵活的搜索模式。

让我们看几个例子,其中基本的正则表达式sed可能会有帮助。

在以特定模式开头的行之后追加

假设你有一个文件,data.txt,包含:


apple 5
banana 8
apple 7
cherry 3
  

您希望在以“apple”开头的行之后添加注释。


sed '/^apple/a\# This is an apple entry' data.txt
  

Output:


apple 5
# This is an apple entry
banana 8
apple 7
# This is an apple entry
cherry 3
  

Here, ^apple是正则表达式。插入符号 (^) 断言“apple”位于行首。

在以特定模式结尾的行之后追加

与相同的data.txt,假设您想在以数字“8”结尾的行之后添加注释。


sed '/8$/a\# This line ends with 8' data.txt
  

Output:


apple 5
banana 8
# This line ends with 8
apple 7
cherry 3
  

正则表达式8$查找以数字“8”结尾的行。美元符号 ($) 确保匹配的字符或字符串位于行尾。

在包含数字的行之后追加

再次,与data.txt文件中,假设您希望在包含任何数字的行之后发表评论。


sed '/[0-9]/a\# This line has a number' data.txt
  

Output:


apple 5
# This line has a number
banana 8
# This line has a number
apple 7
# This line has a number
cherry 3
# This line has a number
  

在这种情况下,模式[0-9]匹配任何单个数字。

 

使用扩展正则表达式

扩展正则表达式 (ERE) 通过引入额外的元字符和结构来扩展基本正则表达式的功能,从而允许更高级的模式匹配。

您可以使用sed通过使用扩展正则表达式-E flag.

在具有特定单词匹配的行之后追加

假设你有一个文件,words.txt,包含:


programming
coder
development
programmer
coding
  

您想要在包含以“ing”或“ment”结尾的单词的行后附加注释。


sed -E '/(ing|ment)$/a\# Relevant profession' words.txt
  

Output:


programming
# Relevant profession
coder
development
# Relevant profession
programmer
# Relevant profession
coding
# Relevant profession
  

在这里,图案(ing|ment)$使用|匹配行尾的“ing”或“ment”的运算符。

在具有重复模式的行之后追加

与相同的words.txt,假设您想在具有重复字符的行后面附加注释。


sed -E '/(.)\1/a\# Repeated character detected' words.txt
  

Output:


programming
# Repeated character detected
coder
development
programmer
# Repeated character detected
coding
# Repeated character detected
  

正则表达式(.)\1识别重复的字符。

The (.)捕获任何字符,同时\1引用回捕获的字符,确保仅当它连续出现两次时才匹配。

在带有可选匹配的行之后追加

假设您想对包含“code”或“coder”的行进行注释。


sed -E '/cod(er)?/a\# Coding related' words.txt
  

Output:


programming
coder
# Coding related
development
programmer
coding
# Coding related
  

在这个模式中,cod(er)?, the ?使前面的“er”可选,这意味着它将匹配“code”和“coder”。

 

根据行号追加

sed允许您根据特定行号或行号范围附加文本。

当编辑具有已知结构的配置文件或脚本时,此功能特别有用。

让我们深入研究一些例子。

在特定行号之后追加

假设你有一个文件,lines.txt,看起来像这样:


first line
second line
third line
fourth line
  

您想在第二行之后添加注释。

Command:


sed '2a\# This is after the second line' lines.txt
  

Output:


first line
second line
# This is after the second line
third line
fourth line
  

在此命令中,数字2之前a\命令指定追加应发生在第二行之后。

在一系列行号之后追加

使用相同的lines.txt,假设您想在第 2 行到第 3 行之后添加注释。


sed '2,3a\# This is a comment' lines.txt
  

Output:


first line
second line
# This is a comment
third line
# This is a comment
fourth line
  

通过指定2,3之前a\命令,您指示追加应该发生在第 2 行和第 3 行(含)之间范围内的每一行之后。

添加到文件末尾(最后一行)

要在文件末尾附加文本,您可以使用以下命令定位最后一行$.


sed '$a\# This is the end of the file' lines.txt
  

Output:


first line
second line
third line
fourth line
# This is the end of the file
  

 

在不包含模式的行之后追加

假设你有一个文件,tasks.txt, 其中包含:


Complete the report
Attend the meeting
Send emails
Update the software  

假设您想在不包含“Update”一词的行后附加注释。


sed '/Update/!a\Note: This task is regular' tasks.txt
  

Output:


Complete the report
Note: This task is regular
Attend the meeting
Note: This task is regular
Send emails
Note: This task is regular
Update the software
  

在这里,!符号用于否定匹配。所以,模式/Update/!匹配不包含单词“Update”的行。

 

在 sed 中处理换行符 (\n)

默认情况下,sed一次从输入中读取一行并去掉终止换行符。

因此,在一个身体内sed脚本中,换行符在您引入之前不会出现。

假设您有一个名为sample.txt包含:


apple
banana
cherry
  

要在匹配后插入新行:


sed '/banana/a\\ndate\ngrape' sample.txt
  

Output:


apple
banana

date
grape
cherry
  

注意双反斜杠的使用\\n在“日期”之前。

 

附加带有特殊字符的行

In sed,某些字符被视为“特殊”,因为它们在命令语法中具有独特的含义。

角色如&, $, ^, *,以及更多都是正则表达式的基本组成部分或sed命令构造。

当您想要附加包含这些字符的行时,您需要正确处理它们以避免意外行为。

用 & 追加一行

想象一个名为special.txt包含以下内容:


start
middle
end
  

追加一行 $

如果您想添加包含以下内容的行$“start”后的字符:


sed '/start/a\$100 is the price' special.txt
  

Output:


start
$100 is the price
middle
end
  

在这里,$在追加命令中被简单地视为常规字符。

附加多个特殊字符

对于包含多个特殊字符的行,只需在追加命令中将它们用作常规字符即可:


sed '/end/a\Special chars: & * $ ^ @' special.txt
  

Output:


start
$100 is the price
middle
end
Special chars: & * $ ^ @
  

 

附加 Shell 变量

在脚本和命令行操作中,您经常需要将 shell 变量中的值插值或插入到您的sed命令。

这可以通过封装来轻松完成sed命令用双引号括起来,允许 shell 变量扩展。以下是如何实现这一目标:

基本附加变量

考虑一个变量:


user="Alice"
  

还有一个文件,notes.txt,其中包含:


Start your day
Reply to emails
  

要在“回复电子邮件”之后附加带有用户名的自定义消息:


sed "/Reply to emails/a\\
Hello, $user! Have a productive day!" notes.txt
  

Output:


Start your day
Reply to emails
Hello, Alice! Have a productive day!
  

处理变量中的特殊字符

如果您的变量如下所示:


path="/home/alice/documents"
  

要在“开始新的一天”之后附加此路径,您需要为sed命令:


sed "/Start your day/a\\
$path" notes.txt
  

Output:


Start your day
/home/alice/documents
Reply to emails
  

当正斜杠/通常用作分隔符sed命令,您可以使用其他分隔符,例如|, #, or :如果您的内容可能与默认内容冲突。

 

附加 sed 捕获的组

In sed,捕获组允许您捕获输入模式的部分内容并在以后引用它们。

捕获和附加

让我们考虑一个名为products.txt包含以下内容:


apple 10
banana 20
cherry 30
  

您想要在每个产品的行后附加大写的名称。


sed '/\([a-z]*\) [0-9]*/ { h; s/\([a-z]*\) [0-9]*/\U\1/; x; G; }' products.txt
  

Output:


apple 10
APPLE
banana 20
BANANA
cherry 30
CHERRY
  

这是发生的事情:

  • /\([a-z]*\) [0-9]*/:匹配以小写单词开头,后跟空格和数字的行。
  • h:该命令将模式空间的内容(当前行)复制到保持缓冲区。
  • s/\([a-z]*\) [0-9]*/\U\1/:这会捕获产品名称并将其转换为大写\U.
  • x:该命令交换模式空间和保持缓冲区的内容。
  • G:这会将保留缓冲区的内容(现在具有大写产品名称)附加到模式空间,实质上是将大写产品名称附加到原始行。

 

使用多个 -e 选项进行顺序追加

The -e选项中sed允许您指定要按顺序应用的多个编辑命令。

当您要对输入执行多个独立的转换或附加操作,并且您希望在一次数据传递中执行它们时,此功能非常有用。

不同行的顺序追加

考虑一个名为agenda.txt:


Meeting at 10am
Lunch break
Review session
  

您想要在“上午 10 点会议”和“回顾会议”条目之后附加提醒:


sed -e '/Meeting at 10am/a\Bring presentation slides' -e '/Review session/a\Prepare feedback notes' agenda.txt
  

Output:


Meeting at 10am
Bring presentation slides
Lunch break
Review session
Prepare feedback notes
  

将追加与替换相结合

使用相同的agenda.txt,假设您想在“午休”之后添加提醒并更改会议时间:


sed -e '/Lunch break/a\Visit the new cafe' -e 's/10am/11am/' agenda.txt
  

Output:


Meeting at 11am
Lunch break
Visit the new cafe
Review session
  

在这里,-e选项允许附加和代换单一操作sed命令。

组织复杂的操作

在处理复杂文件或多次修改时,会破坏您的sed命令分成多个-e部分可以使您的命令更具可读性。

例如:


sed -e '/Meeting/a\Ensure the projector is working' \
    -e '/Lunch break/a\Confirm reservation' \
    -e '/Review session/a\Gather all team feedback' \
    agenda.txt
  

Output:


Meeting at 10am
Ensure the projector is working
Lunch break
Confirm reservation
Review session
Gather all team feedback
  

 

附加到大文件的有效方法

处理非常大的文件时,使用诸如sed可能是资源密集型的。但是,有一些方法可以有效地处理此类操作,而不会耗尽系统内存或 CPU。

使用直接文件重定向

对于简单的任务(例如将内容附加到大文件末尾),直接文件重定向是最有效的:


echo "Your appended content here." >> largefile.txt
  

该命令会将文本附加到末尾largefile.txt无需将文件加载到内存中。

拆分、处理和连接(分块)

如果您需要基于某些模式进行追加,请考虑将文件拆分为可管理的块,单独处理每个块,然后连接它们:

Use split分割大文件:


split -l 1000000 largefile.txt chunk_
  

该命令分割largefile.txt分成每个 100 万行的块,命名为chunk_aa, chunk_ab, 等等。

处理每个块sed或其他工具:


for f in chunk_*; do
    sed 'your_sed_command' $f > ${f}_processed
done
  

将处理后的块重新连接在一起:


cat chunk_*_processed > largefile_processed.txt
  

清理块:


rm chunk_*
  

避免使用-i非常大的文件的就地编辑

The -i选项sed进行就地编辑,但对于非常大的文件来说效率可能较低,因为它有效地创建了原始文件的副本。

相反,将输出重定向到新文件,然后根据需要重命名。

 

现实世界的例子

让我们重点关注一些例子sed a\使用(追加)命令。

将描述性标头附加到配置文件

Example:您有一个配置文件,为了清楚起见,您希望在指示新部分开始的注释后附加一个标头。

File: config.conf


# Begin User Configuration
username = guest
password = guest123
  

Command:


sed '/# Begin User Configuration/a\# Details for the guest user' config.conf
  

Output:


# Begin User Configuration
# Details for the guest user
username = guest
password = guest123
  

在脚本中添加注释

Example:在 Python 脚本中,您希望在包含单词“FIXME”的行后面附加注释,以提供有关修复问题的提示。

File: script.py


def some_function():
    x = y + 2  # FIXME
  

Command:


sed '/FIXME/a\# A fix is pending for the above line' script.py
  

Output:


def some_function():
    x = y + 2  # FIXME
    # A fix is pending for the above line
  

在配置文件中提供节分隔符

Example:在服务器配置文件中,您需要在每个部分之后附加一个分隔符以提高可读性。

File: server.conf


[database]
user = admin

[logging]
level = INFO
  

Command:


sed '/\[\w\+\]/a\##########' server.conf
  

Output:


[database]
##########
user = admin

[logging]
##########
level = INFO
  

该命令扫描file.txt,并且每次它找到用方括号括起来的单词(如配置文件中的节标题)时,它会立即在该行后面附加文本“##########”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Sed 命令在 Linux 中追加文本 的相关文章

  • 当非特权用户运行 C/asm 程序时,会对 Linux 造成什么危害?

    我一直在考虑一种场景 让用户 可以是任何人 可能有恶意 提交在 Linux PC 我们称之为基准节点 上运行的代码 目标是为单线程例程创建一种自动化基准测试环境 假设一个网站向代理发布了一些代码 该代理将此代码交给基准节点 而基准节点仅与代
  • 来自外部 .diff 文件的交互式补丁

    Linux 是否有命令或程序允许交互式地修补源代码 在屏幕上打印每个块并在将其应用到文件之前等待确认 就像是git add p 但是从另一个 diff 文件中进行更改 您始终可以在 shell ruby python 中编写脚本 逐行读取该
  • 安装pipenv导致pip3无法使用

    我安装了pipenv using pip3 install pipenv 这给了我错误ImportError cannot import name main 为了解决这个错误我遵循这些说明 https stackoverflow com q
  • 从该共享库中查找加载的共享库的位置?

    从共享库中的函数 在正在运行的进程 用 C 编写 内 我如何发现该共享库是从哪里加载的 我找到的所有答案都涉及使用诸如ldd在命令行中 或者通过查看 proc self maps 在 Win32 上 我只需使用GetModuleFileNa
  • tar 命令在提取时更改所有者:组

    使用此命令提取文件时tar zxf bluez arm package tgz文件和目录的所有者 1000 组 脉冲 是 更改如下例 Example drwxrwxr x 4 1000 pulse 1024 Jul 21 00 32 dbu
  • Ruby - 在 tmp/pids/thin.pid 中找不到 PID (Thin::PidFileNotFound)

    我试图开始精简我的应用程序 但随后pid无法生成 thin C var www project path current config myproject testing yml start 现在我无法阻止它 因为没有 pid thin C
  • Linux环境下串口数据转换为TCP/IP

    我需要从Linux系统的串口获取数据并将其转换为TCP IP发送到服务器 这很难做到吗 我有一些基本的编程经验 但对 Linux 的经验不多 有没有开源应用程序可以做到这一点 在 Linux 中您不需要编写程序来执行此操作 只是pipe h
  • 如何使用AWK从文件中连续输出行

    我有一个多行文件 我想连续输出文件的某些行 比如第一次 从第1行打印到第5行 下次 打印第2行到第6行 依此类推 我发现 AWK 是一个非常有用的函数 我尝试自己编写代码 但它什么也没输出 以下是我的代码 bin bash for n in
  • 如何向正在运行的 Linux 进程发送 Ctrl-Break?

    我正在调试在 Sun 的 JDK 1 4 2 18 上运行的应用程序中的内存泄漏 该版本似乎支持命令行参数 XX HeapDumpOnCtrlBreak 这可能会导致 JVM 在遇到控制中断时转储堆 如何将其发送到 Linux 机器上的后台
  • 专门逐行调试

    我有一个用 Pascal 编写的脚本 我会以这种方式调试它 在每一行停止 转储内存中所有变量的值 然后转到下一行 是否可以使用 gdb 或其他 Linux 开源工具来完成此操作 使用选项编译文件 g fpc gpc g file pas R
  • linux命令行:如何简单地将任意字符串输入管道?

    我正在寻找一个非常简单的技巧 假设文件中error txt 有一个很长的字符串 errorMessage key1 some message key2 message 2 由于它的格式不适合读者 如果我想在终端中以格式良好的形式查看它 我可
  • 自动将 Linux 文件名重命名为 Windows 中合法的新文件名

    我想将 linux 文件重命名为在 windows 中合法的文件名 它的长度不应超过允许的长度 并且不应包含 Windows 中不允许的字符 有时我将论文的标题复制到文件名 它们有特殊字符 例如 or 另外 从 pdf 中复制和粘贴标题时
  • ModemManager:mmcli 获取信号强度

    我无法检索 Sierre Wireless MC7304 上的信号强度 另外通过 mmcli 发送 AT 命令似乎不起作用 sudo mmcli m org freedesktop ModemManager1 Modem 0 signal
  • 如何在 Amazon Linux 上安装最新版本的 GDAL?

    我想安装GDAL https gdal org 在运行 Amazon Linux 的 EC2 实例上 我认为它基于 RHEL 6 如果可能的话 我想避免从源代码编译 EPEL Yum 存储库中包含的 GDAL 版本对于我的目的来说太旧了 g
  • 如何获取Linux中进程或端口的网络带宽使用情况

    我想获取每个进程的网络带宽使用情况 我找了很多这方面的资料 比如iftop nethogs http nethogs sourceforge net Linux进程浏览器 http sourceforge net projects proc
  • 无法从外部 bash 脚本正确设置 MySQL 密码

    我有两个脚本 主要的一个脚本执行一些不同的操作并调用第二个脚本 第二个脚本安装 MySQL 从我的主脚本中我做了这样的事情 read p Set the password for the database min 4 characters
  • Plink 通过 C# 返回不需要的字符

    通过 C 使用 Plink 时 我在结果前后收到不需要的字符 Command ls l informatica tgtdynamicparams out grep vaulttest grep Sep 1 awk print 9 sort
  • python kivy在矩形内添加文本

    如何在矩形内添加文本 我使用下面的代码并在画布内添加了一个标签 希望它能显示在矩形内 import kivy from kivy app import App from kivy uix anchorlayout import Anchor
  • 访问单个结构体成员是否会将整个结构体拉入缓存?

    我一直在读乌尔里希 德雷珀的书 每个程序员都应该了解的内存知识 http lwn net Articles 250967 并在部分3 3 2 缓存效果的测量 http lwn net Articles 252125 页面中间 它给我的印象是
  • Python:文本覆盖在所有窗口顶部,包括 Linux 中的全屏

    我正在尝试用 python 编写一个简单的脚本 在所有窗口和全屏应用程序之上输出文本 该脚本的目的是以类似于 Steam FPS 计数器工作方式的方式输出平均负载和可用内存 以及其他有用的统计数据 到目前为止 我尝试了 pygame 但据我

随机推荐

  • 互动

    无论您是在学习基本的 Python 数据结构 字符串 列表 字典等 第一次 或者您正在调试应用程序 交互式 Python shell 将是您最好的学习工具之一 使用交互式 Python shell 有时也称为 Python REPL 首先确
  • Python 指导委员会

    在本课程中 您将了解Python 指导委员会 从技术上来说 Python 的治理不是语言特征 然而 Python 3 8 是第一个不是在仁慈独裁统治下开发的 Python 版本 吉多 范罗苏姆 Python 语言现在由指导委员会由五位核心开
  • 列表:可变和动态

    在本课程中 您将探索 Python 列表如何可变和动态 Python 中的许多类型是不可变的 整数 浮点数 字符串 并且 正如您将在本课程后面学到的 元组都是不可变的 一旦创建了这些对象之一 就无法对其进行修改 除非您将该对象重新分配给新值
  • 在屏幕上绘图

    在本课程中 您将开始使用Surface 回想一下 一个表面是一个可以在其上绘图的矩形对象 就像一张白纸 这screen对象是一个Surface 并且您可以创建自己的Surface与显示屏分离的物体 您将用白色填充屏幕 并添加一个新的Surf
  • 数据科学数学

    数据科学数学 学习路径 技能 统计 相关性 线性回归 逻辑回归 在这个学习路径中 您将获得在数据科学方面取得进步所需的数学基础 其他资源 真正的 Python 数据科学主题 真正的 Python 机器学习主题 数据科学数学 学习路径 5 种
  • Python 基础练习:文件系统操作(概述)

    In Python 基础知识 文件系统操作 您学习了如何使用 Python 处理文件和文件夹 作为一名程序员 您将使用pathlib和shutil要完成的模块文件系统操作不依赖你的图形用户界面 GUI 虽然您已经进行了大量文件系统操作的实践
  • 使用 Python 和 ggplot 绘制数据图表

    在本课程中 您将学习如何使用ggplot在Python中使用创建数据可视化图形语法 图形语法是一种高级工具 可让您以高效且一致的方式创建数据图 它抽象了最底层的细节 让您专注于为数据创建有意义且美观的可视化效果 有几个 Python 包提供
  • MicroPython 入门(概述)

    您对物联网 家庭自动化和互联设备感兴趣吗 你有没有想过建造一把爆能枪 一把激光剑 甚至你自己的机器人会是什么样子 如果是这样 那么您很幸运 微Python可以帮助您完成所有这些事情以及更多 在本课程中 您将了解 这历史微Python的 这差
  • Jupyter 终端及更多

    Jupyter Notebooks 不仅可以让您启动笔记本 在本课程中 您将学习如何启动新终端以及如何在浏览器中创建文件夹或文件
  • 2021 年 8 月 11 日

    主持人大卫 阿莫斯回答会员的问题 本周 Real Python 社区经理 Andres Pineda 也加入了 David 的行列 在这次会议上 我们讨论了 Python 新闻和更新 如何开始使用 Python 进行日志记录 如何学习编写更
  • 适合 Python 程序员的 C

    目录 The C Preprocessor 包括 定义 undef if pragma 错误 Basic C Syntax for Python Programmers 一般的 if 语句 switch 语句 循环 功能 指针 弦乐 结构体
  • 关于约翰·斯特茨

    关于约翰 斯特茨 John 是一位狂热的 Python 爱好者 也是 Real Python 教程团队的成员 约翰的教程 Python 中的模字符串格式化 Python 中的递归 简介 Python 中的函数式编程 何时以及如何使用它 Py
  • pandas 排序方法入门

    有关这些视频中使用的 REPL 的更多信息 您可以查看蟒蛇以及真正的 Python 教程探索 bpython 具有类似 IDE 功能的 Python REPL
  • 漂亮的印花

    此外print Python 包括一个漂亮的印刷品方法 此方法对于以更易于阅读的格式输出有关对象的调试信息特别有用 gt gt gt gt gt gt from pprint import pprint gt gt gt data squa
  • Python 新闻:2021 年 12 月以来的新增内容

    目录 Python 指导委员会选举 Python 新版本 Python 3 6 生命周期结束 代码的出现 Python 的下一步是什么 In 2021 年 12 月 第四个Python指导委员会像往常一样 由新成员和回归成员组成 Pytho
  • 第 12 集:Python 中的网页抓取:工具、技术和合法性

    第 12 集 Python 中的网页抓取 工具 技术和合法性 真正的 Python 播客 2020年6月5日50公尺 RSS Apple Podcasts Google Podcasts Spotify More 播客瘾君子 灰蒙蒙 袖珍铸
  • 列表:有序和任意

    您已经了解了如何创建列表 在本课程中 您将了解到列表是有序的并且可以包含任意对象的集合 定义列表时使用的顺序在列表的生命周期内保持不变 包含相同元素但顺序不同的列表是不同的 gt gt gt gt gt gt a spam egg baco
  • 在“for”循环中使用 .append() 进行附加处理

    有关本课程所涵盖概念的更多信息 您可以查看 Python enumerate 简化需要计数器的循环 真正的Python文章 Python for 循环 确定迭代 真正的Python文章
  • 设计和指导:Python 中的 OOP(概述)

    编写优秀的面向对象代码不仅仅是如何编写 句法 知道何时和何时不使用它 以及指导原则 在后面面向对象设计将帮助您编写更好的代码 在本课程中 您将了解 中的面向对象方法Python 与其他语言 您的情况不应该使用Python 中的类 继承的替代
  • 使用 Sed 命令在 Linux 中追加文本

    Sed提供根据特定模式或条件将文本附加到文件中的行的能力 您可以使用a 命令输入sed在模式匹配后添加新行 让我们深入研究现实世界的示例 以了解如何有效地利用此功能 目录 hide 1 在匹配的模式后添加一行 2 在匹配的模式后追加多行 3