My script to replace strings in ASCII files
lars
lars at gmx.at
Wed Jan 11 12:40:40 PST 2006
Kristian Vaaf wrote:
> Hello!
>
> Just curious, what do I need to do to be able to execute this script like:
>
> $ text-replace old_string new_string
>
> I find it a bit inconvenient having to edit the script for every thing I need to replace.
>
> Thanks,
> Kristian
>
> #!/usr/local/bin/bash
> #
> # Replace old with new inside all text files.
> # $URBAN: text-replace.sh,v 1.0 2005/10/24 15:09:05 vaaf Exp $
> #
>
> for file in `find . -type f ! -name ".*"`; do
>
> if [ "`file -b "$file" | grep text`" != "" ]; then
>
> sed -i '' "s/old/new/g" "$file"
>
> echo "$file: Done"
>
> fi
>
> done
Why not open the file with vim and then
:.,$s/old/new/
Of course that's not scriptable...
Maybe you should interpolate the first and the second argument
into your regexes in the substitution with sed,
so you get "s/argument1/argument2/"
Perl might help though.
More information about the freebsd-questions
mailing list