这是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
我该如何更改? 请帮我一把〜!!!
答案 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