首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Bash命令在文本文件中查找和替换

通过Bash命令在文本文件中查找和替换
EN

Stack Overflow用户
提问于 2009-02-08 19:57:39
回答 14查看 775.8K关注 0票数 652

查找和替换给定输入字符串(例如abc )并替换为另一个字符串(例如/tmp/file.txt文件中的XYZ )的最简单方法是什么

我正在编写一个应用程序,并使用IronPython通过SSH执行命令--但我对Unix不太了解,也不知道该找什么。

我听说Bash除了是一个命令行界面之外,还可以是一种非常强大的脚本语言。因此,如果这是真的,我假设您可以执行这样的操作。

我能用bash做到这一点吗?实现目标的最简单(一行)脚本是什么?

EN

Stack Overflow用户

发布于 2009-02-08 12:13:14

与其他shell一样,Bash只是一个用于协调其他命令的工具。通常,您会尝试使用标准的UNIX命令,但当然也可以使用Bash调用任何东西,包括您自己的编译程序、其他shell脚本、Python和Perl脚本等。

在这种情况下,有几种方法可以做到。

如果您想读取一个文件,并将其写入到另一个文件,在执行搜索/替换操作时,使用sed:

代码语言:javascript
运行
复制
    sed 's/abc/XYZ/g' <infile >outfile

如果您想要就地编辑文件(就像在编辑器中打开文件,编辑它,然后保存它一样),请向行编辑器'ex‘提供指令。

代码语言:javascript
运行
复制
    echo "%s/abc/XYZ/g
    w
    q
    " | ex file

这个例子就像没有全屏模式的vi。您可以在vi:提示符下为其提供相同的命令。

票数 43
EN
查看全部 14 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/525592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档