如何使用.SH文件脚本替换文本文件中的文本?

所以我想创建一个脚本,它需要3个参数 - 文件路径,替换确切词以及替换它的内容。 如何创建这样的事情?

一般我想6它有像API sudo script.sh "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"


你不需要一个脚本,一个简单的sed就可以做到(如果你使用cygwin或POSIX兼容的操作系统):

sed -i '' 's/_WORD_TO_REPLACE_/WordTo Use/' "C:/myTextDoc.xml"

像这样?

#!/bin/bash
sed -e "s/$2/$3/g" <$1 >$1.$$ && cp $1.$$ $1 && rm $1.$$

或者,您可以使用单个命令

sed -i -e "s/$2/$3/g" $1

正如严建议。 我通常自己使用第一种形式。 我看到系统中不支持-i (SunOS)。

这会将第二个参数的所有实例替换为第一个传递的文件中的第三个参数。 例如,./ ./replace file oldword newword


红宝石(1.9+)

$ ruby -i.bak -ne 'print $_.gsub(/WORD_TO_REPLACE/,"New Word")' /path/to/file
链接地址: http://www.djcxy.com/p/35427.html

上一篇: How to replace text in text file using .SH file script?

下一篇: How to replace text in text file using bat file script?