i have more than 1000 files and want to replace a special text in all of them with another phrase.
how can i do it by shell script in linux?
i have more than 1000 files and want to replace a special text in all of them with another phrase.
how can i do it by shell script in linux?
Something like this:
for file in *.txt
do
cp $file $file.tmp
cat $file.tmp | sed 's/foo/bar/g' > $file
done
sed -i 's/old-word/new-word/g' *.txt
http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/
Just bash
for file in *.txt
do
while read -r line
do
case "$line" in
"*pattern*") line="${line//pattern/new}";;
esac
echo "$line"
done <"$file" > t
mv t "$file"
done