mario Asked: 2018-09-13 07:00:25 +0800 CST2018-09-13 07:00:25 +0800 CST 2018-09-13 07:00:25 +0800 CST 如何使用 sed 替换单个 '? 772 我需要在一堆文件中用 `30 替换 '30。以下不起作用: grep -Rl "'30" /myDir | xargs sed -i "s/'30/`30/g" 我如何解决它? 我在 Fedora 26 机器上。 sed 2 个回答 Voted Best Answer Hkoof 2018-09-13T07:12:05+08:002018-09-13T07:12:05+08:00 只需在反引号前添加一个反斜杠: grep -Rl "'30" /myDir | xargs sed "s/'30/\`30/g" Rakesh Sharma 2018-09-13T20:09:08+08:002018-09-13T20:09:08+08:00 find /myDir -maxdepth 1 -type f -exec grep -q \'30 {} \; -exec sed -i -e y/\'/\`/ {} + 在这里,您允许find过滤目录/myDir中带有字符串 ,的文件'30,并仅将这些文件成串地传递给sed, which'll do an in-place editing-i`。
只需在反引号前添加一个反斜杠:
在这里,您允许
find
过滤目录/myDir
中带有字符串 ,的文件'30
,并仅将这些文件成串地传递给sed, which'll do an in-place editing
-i`。