• 首页
  • 发布文章
  • 我的文章
  • 我的收藏
  • 设置
  • 退出

linux更改文本,sed替换文件内容,没vim时可以使用

blmius 2024-01-16 10:25:28
收藏
编辑
上架
下架

替换

sed -i 's/需要替换的内容/替换的内容/g' 文件

sed(Stream Editor)是一种流式文本编辑器,它可以对文本进行插入、删除、替换等操作,常用于文本处理和数据转换。以下是 sed 命令的一些说明:

  1. 基本语法:sed [选项] ‘动作’ 文件名

  2. 选项:

  • -n:只输出经过 sed 处理后的文本,不输出原始文本
  • -i:直接修改文件内容,而不是输出到终端
  • -e:指定多个动作,每个动作用分号隔开
  • -r:支持正则表达式中的扩展语法
  1. 动作:
  • a:在指定行后添加新行
  • i:在指定行前添加新行
  • d:删除指定行
  • s:替换指定字符串
  • p:打印指定行
  1. 文件名:要处理的文件名或文件列表,可以使用通配符。

例如,要在文件中将所有的 “hello” 替换为 “world”,可以使用以下命令:

sed -i 's/hello/world/g' filename.txt

这个命令中,-i 选项表示直接修改文件内容,s 表示替换操作,g 表示对每一行中所有匹配的字符串进行替换。

sed 如果替换的内容存在/怎么办呢

在使用 sed 命令替换内容时,如果替换内容中包含 / 字符,可以使用不同的分隔符来代替 /,例如使用 # 作为分隔符。具体的命令格式为:

sed 's#原字符串#新字符串#g' 文件名

其中,# 可以替换为其他非空字符,例如 @、| 等。使用不同的分隔符可以避免 / 字符造成的错误。

例如,将文件 test.txt 中的所有 http://example.com/ 替换为 https://www.example.com/,可以使用以下命令:

sed 's#http://example.com/#https://www.example.com/#g' test.txt

这样可以避免 / 字符造成的错误,确保替换命令正常执行。

本文转自 https://blog.csdn.net/hezuijiudexiaobai/article/details/121389672,如有侵权,请联系删除。