加上「;在unix中使用sed,指向以This或This结尾的任何行的末尾

加上「;在unix中使用sed,指向以This或This结尾的任何行的末尾,unix,Unix,我有一个文件,其中有几行以tux结尾。如何将“添加到任何以this或this等词结尾的行的末尾?您可以访问以获取更多示例和有关整体使用sed的帮助。还可以查看它的“正则表达式”选项卡或在web上搜索类似“unix锚字符”的内容 对于这个实际问题,以下是现场的相关部分: Sed能够通过在命令之前指定地址来指定要检查和/或修改的行。我现在只描述最简单的版本-/PATTERN/address。使用时,只有与模式匹配的行才会在地址之后被赋予命令。简单地说,当与/p标志一起使用时,匹配的行会被打印出来d两

我有一个文件,其中有几行以
tux
结尾。如何将
添加到任何以
this
this
等词结尾的行的末尾?

您可以访问以获取更多示例和有关整体使用sed的帮助。还可以查看它的“正则表达式”选项卡或在web上搜索类似“unix锚字符”的内容

对于这个实际问题,以下是现场的相关部分:

Sed能够通过在命令之前指定地址来指定要检查和/或修改的行。我现在只描述最简单的版本-/PATTERN/address。使用时,只有与模式匹配的行才会在地址之后被赋予命令。简单地说,当与/p标志一起使用时,匹配的行会被打印出来d两次:

sed'/PATTERN/p'文件

当然,模式是任何正则表达式

根据这些,您可以使用如下sed命令在文件中获取以“this”或“this”结尾的行,如果您的意思是:

$ sed '/[tT]his$/p' yourfile

要将双引号放在这些行的末尾,您还需要了解:

  • $作为正则表达式中的定位字符具有特殊含义(输入行的末尾)
…字符“$”是结尾锚。表达式“A$”将匹配以大写字母A结尾的所有行。如果在模式的正确结尾未使用锚字符,则它们不再充当锚。如果“$”是最后一个字符,则它仅是锚

  • 如何使用sed替换字符(请参见链接页面)
Sed有几个命令,但大多数人只学习替换命令:s。替换命令将正则表达式的所有引用更改为新值。一个简单的示例是将“旧”文件中的“日”更改为“新”文件中的“夜”:

$sed's/day/night/'新文件

或者另一种方式(对于UNIX初学者)

$sed's/日/夜/'旧>新

对于那些想测试这一点的人:

$echo day | sed's/日/夜/'

这将输出“夜间”

之后,您可以构建自己的sed命令,知道您可以在一个命令中同时使用这两个部分,如下所示:

$ sed '/[pP]atternAtTheEndOfLine$/s/$/patternToAddToEndOfTheLine/' yourfile

使用
sed
。请说明您尝试了什么,并解释为什么它不起作用。
$ sed '/[pP]atternAtTheEndOfLine$/s/$/patternToAddToEndOfTheLine/' yourfile