Tho*_*hor 63

您需要匹配整行:

echo "atestb" | sed -n 's/.*\(test\).*/\1/p'
Run Code Online (Sandbox Code Playgroud)

或者

echo "atestb" | sed 's/.*\(test\).*/\1/'
Run Code Online (Sandbox Code Playgroud)

  • 我必须添加 `-r` 或 `--regexp-extended` 选项,否则我会在 `s' 命令的 RHS ` 错误中得到 `invalid reference \1。 (3认同)
  • @jww:你测试答案了吗?您需要匹配整行,因为它是一个替换命令,即您用匹配的内容替换整行 (3认同)