用sed代替测试

时间:2019-07-12 06:21:59

标签: sed

我正在尝试使用sed替换文本,但是显示出一些错误。没有弄错我在哪里。

sed -i 's/process.env.REDIRECT_URI/http:\/\/test-domain.apps.io/\callback/g' input.txt

拥有这个:

process.env.REDIRECT_URI 

替换为:

http://test-domain.apps.io

1 个答案:

答案 0 :(得分:1)

尝试:

sed -i 's/process.env.REDIRECT_URI/http:\/\/test-domain.apps.io/g' input.txt

注意:

  1. 原始命令具有伪字符串/\callback。使代码正常工作所需要做的就是删除它。

  2. .是通配符。如果要确保您匹配的期间,则应将其转义:

    sed -i 's/process\.env\.REDIRECT_URI/http:\/\/test-domain.apps.io/g' input.txt
    
  3. 有时,如果不必逃脱/,它的含义会更加清晰。可以使用自己选择的分隔符。例如,使用@

    sed -i 's@process\.env\.REDIRECT_URI@http://test-domain.apps.io@g' input.txt
    
  4. 如果您确实希望在输出中使用/callback,请使用:

    sed -i 's/process\.env\.REDIRECT_URI/http:\/\/test-domain.apps.io\/callback/g' input.txt
    

    或:

    sed -i 's@process\.env\.REDIRECT_URI@http://test-domain.apps.io/callback@g' input.txt