2015-12-08 5 views
0

это 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 

Я хочу изменить «хорошо» до «gooood» в test.txt файл

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

Как его изменить? , пожалуйста, дайте мне руку ~ !!!

ответ

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

или вы можете использовать AWK с в месте модификации:

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

sed является лучшим инструментом для этой простой замены, но если не разрешается использовать инструменты, вы можете вернуться к функциональности Баш

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

предполагая, что исходный файл good.txt, это будет заменить строку «хорошо», чтобы «GoooD» и напишите goood.txt.

+0

Nice touch. Просвещенный малой настройкой команды эха. – sjsam

Смежные вопросы