我正在try 使用下面的命令在"Money"的第一个字符前面加上:

echo monkey | sed -E '/(.)onkey/i \1'

但当我像这样使用它时,输出显示

1
monkey

我其实是希望看到:

m
monkey

但反向引用并不起作用.请谁告诉我是否可以将回溯引用与\1一起使用.提前谢谢.

推荐答案

你可以使用这sed条:

echo 'monkey' | sed -E 's/(.)onkey/\1\n&/'

m
monkey

这里:

  • \1:是第1组的反向引用
  • \n:插入换行符
  • &:为完全匹配的反向参考

Linux相关问答推荐

AddressSaniizer随机抛出没有任何解释的SIGSEGV

通过ssh传输参数时避免字符串拆分

JSON 转义 CURL/JQ 输出

在 bash 中使用 tee 时如何返回错误代码

如何使用适用于 Linux 的 Dockerized SQL Server 设置 MSDTC

使用 sed 从文本文件中删除特定字符串

Bash - 如何根据 names.txt 重命名目录中的文件

如何使用换行符或制表符或空格 grep 多行字符串

问题:Virtio rpmsg 总线 virtio0:收到的 msg 没有收件人 - 在 Yocto Hardknott - imx7d-pico

Linux命令行如何接受没有pin的蓝牙设备配对

使用 rc.local 运行脚本:脚本有效,但在启动时无效

安装 mod_ssl 亚马逊 Linux

Vagrant chicken-and-egg:与 uid = apache 用户共享文件夹

未定义的引用 'shm_open',已在此处添加 -lrt 标志

crontab 命令单独一行

pthread_exit 与返回

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

在 shell 脚本的 for 循环中迭代行而不是单词

Bash:如何标记字符串变量?

将 BlueZ Stack 用作外设(广告商)