sed 替换斜线

use*_*556 0 linux sed

正在使用

!/bin/bash
     for fl in *.txt; do
     mv $fl $fl.old
     sed 's/files.php?file=/file/g' $fl.old > $fl
     rm -f $fl.old
     done
Run Code Online (Sandbox Code Playgroud)

我需要将输出替换为 file/ 不仅是 file ,无法弄清楚

Cak*_*mox 6

在模式中使用斜杠时,您可以使用#|代替/使生活更轻松:

!/bin/bash
     for fl in *.txt; do
     mv $fl $fl.old
     sed 's#files.php?file=#file/#g' $fl.old > $fl
     rm -f $fl.old
     done
Run Code Online (Sandbox Code Playgroud)

这使您不必逃避所有要匹配或用作替换的斜杠,例如 \/

另外,要清楚:

/ 是斜线

\ 是反斜杠