如何用sed将两个字符串替换为文字?
How to replace two strings as literals with sed?
我想使用 sed 将 content: [],
替换为 content: ['./src/**/*.{js,jsx,ts,tsx}'],
,我正在尝试此命令:
echo content: [], | sed -e s/content: \[\]/content: \['\.\/src\/\*\*\/\*\.\{js,jsx,ts,tsx}']/
但是我得到这个错误:
zsh: no matches found: [],
sed: 1: "s/content:
": unterminated substitute pattern
理想情况下,我想将 sed 命令中的两侧视为文字字符串,但显然无论如何,它将不同的字符视为正则表达式部分。
您需要将 echo
和 sed
命令用引号 (""
) 括起来,这样 ZSH 就不会展开它们:
echo 'content: [],' | sed -e "s/content: \[\]/content: \['\.\/src\/\*\*\/\*\.\{js,jsx,ts,tsx}']/"
content: ['./src/**/*.{js,jsx,ts,tsx}'],
我想使用 sed 将 content: [],
替换为 content: ['./src/**/*.{js,jsx,ts,tsx}'],
,我正在尝试此命令:
echo content: [], | sed -e s/content: \[\]/content: \['\.\/src\/\*\*\/\*\.\{js,jsx,ts,tsx}']/
但是我得到这个错误:
zsh: no matches found: [],
sed: 1: "s/content:
": unterminated substitute pattern
理想情况下,我想将 sed 命令中的两侧视为文字字符串,但显然无论如何,它将不同的字符视为正则表达式部分。
您需要将 echo
和 sed
命令用引号 (""
) 括起来,这样 ZSH 就不会展开它们:
echo 'content: [],' | sed -e "s/content: \[\]/content: \['\.\/src\/\*\*\/\*\.\{js,jsx,ts,tsx}']/"
content: ['./src/**/*.{js,jsx,ts,tsx}'],