【发布时间】:2023-03-22 13:01:01
【问题描述】:
在文件x 中,包含4*4 4*1 4*4 4*0 的行将被文件y 中的4*4 4*1 3*4 1*4 4*0 替换。我正在使用以下代码:
#!/bin/bash
old=`grep "4*4" x`;
new=`grep "4*4" y`;
sed -i "s/${old}/${new}/g" x
但它在x 中根本没有产生任何变化。我是新手,对于这个网站来说,这可能是一个愚蠢的问题,但我无法用多个特殊字符替换这个表达式。
【问题讨论】:
-
*是一个特殊的char,一个量词,你需要转义它,\*。 -
4*4表示“4零次或多次后跟4”到grep。
标签: bash sed special-characters