微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用bash中的另一个单词replace

我想改变一个文本中与bourne shell中的另一个词相匹配的所有单词。 例如:

hello Sara,my name is Sara too.

变为:

hello mary,my name is mary too.

有谁能够帮助我?

我知道grepfind类似的词,但我想用其他词replace它们。

在Ubuntu上的彩色多行PS1在bash中用箭头向上写着历史错误

使用Awk查找以.c结尾的文件

在wgetrecursion下载之间grep文件

在bash -i中可用的命令不能在bash -l中访问

在shell中自定义完成

将别名<cmd>透明地改为“do X then <cmd>”

如何获得一系列文件中具有最大差异的两个文件

bash sh – 命令未find

Bash程序/包装,允许您使用箭头/删除键进行编辑

BASH getopts可选参数

纯粹的bash语法:

before='hello Sara,my name is Sara too .' after=${before//Sara/mary} echo $after

OR sed语法:

sed 's/Sara/mary/g' <<< $before echo $after

OUTPUT:

hello mary,my name is mary too .

你可以使用sed :

$ sed s/Sara/mary/g <<< 'hello Sara,my name is Sara too .' hello mary,my name is mary too .

或者如果你想改变一个文件

$ cat FILE hello Sara,my name is Sara too . $ sed -is/Sara/mary/g FILE $ cat FILE hello mary,my name is mary too .

你可以使用sed:

# sed 's/Sara/mary/g' FILENAME

输出结果。 s ///结构意味着使用正则表达式进行搜索和替换。 最后的“g”意味着“每一个实例”(不只是第一个)。

您也可以使用perl并编辑文件

# perl -p -i -e 's/Sara/mary/g;' FILENAME

或awk

awk '{gsub("Sara","mary")}1' <<< "hello Sara,my name is Sara too."

您需要使用sed来替换单词

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐