假设我有一个名为name.txt
的文件,其中包含以下内容:
white-list=true
max-players=3
motd=Welcome // Version: One
我如何才能找到世界One
并仅用Two
取代这个世界?
答案 0 :(得分:2)
您可以使用sed 's/One/Two/1'
替换一次出现的One with Two(将'1'替换为'g'以替换每次出现的One)。
# Note the /1 makes the One to Two happen once.
echo "Welcome // Version: One" | sed 's/One/Two/1'
因此,对于文件“name.txt”,你可以做
cat "name.txt" | sed 's/One/Two/1' > "temp.name.txt" && mv "temp.name.txt" "name.txt"
答案 1 :(得分:1)
作为Elliot Frisch答案的补充,某些版本的sed
有一个-i
选项可以更改"到位" (实际上,sed
本身为您创建临时文件)
来自-i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied)
man sed
的(GNU sed版本4.2.1)
所以你可以简化使用命令:
sed -i 's/One/Two/' name.txt
或
sed -i 's/One/Two/g' name.txt