- 此问题在此处已有答案**:
Reference - What does this regex mean?(1个答案)
昨天关门了。
我正在尝试理解其中一个bash脚本。我在sed命令下面登陆,据我所知,sed用第二个集合替换第一个集合,但是我在[]* 处感到困惑,你能告诉我它是做什么的吗?
完成命令。
sed 's/[ ]*|||[ ] */|||/g'
我已通过获取样本文件执行命令,无论它在何处看到3个管道,它都将再次替换为|||管子。
如果是这样的话,我无法理解命令,为什么我们要替换相同的字符
1条答案
按热度按时间7tofc5zh1#
[ ]*
部分是一个字符类(也可以写成*
,不带方括号),匹配可选空格,在本例中匹配3个管道的左边和右边。然后仅将其替换为3个管道,而不替换周围的空间。
输出(在macOs 13.1和Ubuntu GNU sed 4.8上测试)