我正在尝试将文本附加到 .txt 文件中的每一行。
我想在前面添加:I am a
我想附加:
128... [}
到每一行。
a.txt 内部:
fruit, like
bike, like
dino, like
执行以下命令后:
$ cat a.txt|sed 'I am a ',' 128... [}'
它不能按我的意愿工作。我真的希望它说以下内容:
I am a fruit, like 128... [}
I am a bike, like 128... [}
I am a dino, like 128... [}
简单
sed
的方法:^
- 代表字符串/行的开始$
- 代表字符串/行的结尾输出:
或者,
Awk
您可以这样做:会做,假设
PREFIX
并且SUFFIX
不包含任何特殊字符。\&/
(反斜杠、& 和分隔符)在替换的右侧是特殊的s
。这些字符的特殊含义可以通过转义它们(在它们前面加一个反斜杠)来抑制,例如 prependA//BC
和 appendXY\Z&&
one 会运行:珀尔:
更多 Perl:
还有一点 Perl:
对于所有这些,您可以使用
-i
在原始文件中进行更改:替代 sed
它搜索行首和行尾
.*
之间的所有内容,并将其放在一个组中。然后它用前缀、(第一个)组和后缀替换它。^
$
\( \)
\1