Bash Sed-如何在第二个单词周围加括号

Bash Sed-如何在第二个单词周围加括号,bash,sed,Bash,Sed,我有下面的sed命令,它把括号放在第一个单词的周围-(hello)-我想如果我想把它改成括号放在第二个单词的周围,我所要做的就是把(\1)改成(\2),因为我认为这样可以拾取第二个单词,但它不起作用-那么引用第二个单词的正确方法是什么 echo "hello world" | sed -re 's/(^\w*)/(\1)/' 这可能适合您: echo "hello world" | sed -re 's/\w+/(&)/g' 或 将第二个单词括起来: echo "hello wor

我有下面的sed命令,它把括号放在第一个单词的周围-(hello)-我想如果我想把它改成括号放在第二个单词的周围,我所要做的就是把(\1)改成(\2),因为我认为这样可以拾取第二个单词,但它不起作用-那么引用第二个单词的正确方法是什么

 echo "hello world" | sed -re 's/(^\w*)/(\1)/'

这可能适合您:

echo "hello world" | sed -re 's/\w+/(&)/g'

将第二个单词括起来:

echo "hello world" | sed -re 's/\w*/(&)/2'
要将第二个单词括起来,请执行以下操作:

echo "hello brave new world" | sed -re 's/\w*/(&)/2g'

这可能适合您:

echo "hello world" | sed -re 's/\w+/(&)/g'

将第二个单词括起来:

echo "hello world" | sed -re 's/\w*/(&)/2'
要将第二个单词括起来,请执行以下操作:

echo "hello brave new world" | sed -re 's/\w*/(&)/2g'

\2不是指第二个单词,而是指第二个括号内的表达式。因此,将这两个词括起来应该是有效的:

echo hello world | sed -r 's/(\w+) (\w+)/\1 (\2)/'

\2不是指第二个单词,而是指第二个括号内的表达式。因此,将这两个词括起来应该是有效的:

echo hello world | sed -r 's/(\w+) (\w+)/\1 (\2)/'

你在找这个吗:

echo "hello world" | sed 's/\(.*\) \(.*\)/\2/'
世界

你好

换句话:

echo "hello world" | sed 's/\(.*\) \(.*\)/\2 \1/'
世界你好

…并插入括号:

echo "hello world" | sed 's/\(.*\) \(.*\)/\1 [\2]/'
你好[世界]

工作原理: *匹配两个单词“hello world”

接下来,用反斜杠括号将感兴趣的区域括起来,以表示感兴趣的区域

这里有一个很好的教程:

您在找这个吗:

echo "hello world" | sed 's/\(.*\) \(.*\)/\2/'
世界

你好

换句话:

echo "hello world" | sed 's/\(.*\) \(.*\)/\2 \1/'
世界你好

…并插入括号:

echo "hello world" | sed 's/\(.*\) \(.*\)/\1 [\2]/'
你好[世界]

工作原理: *匹配两个单词“hello world”

接下来,用反斜杠括号将感兴趣的区域括起来,以表示感兴趣的区域

这里有一个很好的教程: