使用sed删除两个字符时它们一起出现而不是单个字符

时间:2017-08-01 03:01:09

标签: linux bash sed

我想在我的文件中删除./但我也有。和/在我的文件中,这些都需要保存。我只想删除./作为组合。什么是正确的sed代码呢?

希望有人可以帮助我。我真的很感激。提前谢谢!

2 个答案:

答案 0 :(得分:1)

由于您没有向我们显示Input_file,所以我假设这可能是您的Input_file,请尝试关注并告诉我这是否对您有帮助。

cat Input_file
test ./ test . test./test. /test1/
./test . /test . / test/ test2 test3./ test4 . /

以下是带有输出的代码。

awk '{gsub(/\.\//,"");print}'  Input_file
test  test . testtest. /test1/
test . /test . / test/ test2 test3 test4 . /

编辑:现在也添加了一个sed解决方案。

sed 's/\.\///g'  Input_file

答案 1 :(得分:0)

在sed中,使用s命令替换文本。

一般表格是

  

s / 模式 / 替换 / 标记

  • 我们的模式\./(与文字.相匹配,紧接着是/)。
  • 我们的替换什么都不是(空字符串)
  • 我们的标记g(用来替换该行的每一个匹配项)。
  • 我们可以将分隔符更改为,,以避免与我们要替换的/混淆。

将它放入一个完整的sed程序中

#/usr/bin/sed -f
s,\./,,g

或者,作为Bash单行

sed -e 's,\./,,g'