如何更改文本文件中的文件内容

时间:2015-12-08 17:32:59

标签: linux bash

这是test.txt

hello mate
good morning
no worries

这是我的代码

#!/bin/bash

while
do
printf "whice one do you change? "
read change
printf "how to change? "
read after
done < test.txt

我想在test.txt文件中将“good”更改为“gooood”

and here is conditions
-not using sed
-not using perl

我该如何更改? 请帮我一把〜!!!

2 个答案:

答案 0 :(得分:3)

sed是此简单替换的最佳工具,但如果不允许使用工具,则可以恢复为bash功能

 while read line; do echo ${line/good/goood}; done < good.txt > goood.txt

假设原始文件是good.txt,这会将字符串“good”替换为“goood”并写入goood.txt。

答案 1 :(得分:1)

awk '{ sub(/good/, "goood"); print }' test.txt > tempfile && mv tempfile test.txt

或者你可以使用awk进行就地修改:

awk -i inplace '{ sub(/good/, "goood"); print }' test.txt