find . -type f \! -name '*.bak' -print0 | \ xargs -0 perl -i.bak -plwe 's/foo/bar/g' #### find . -type f -name '*.html' -print0 | \ xargs -0 perl -i.bak -plwe 's/foo/bar/g' #### perl -i.bak -plwe 's/foo/bar/g' file1.txt file2.txt file3.txt #### for i in file1.txt file2.txt file3.txt do mv $i $i.bak perl -plwe 's/foo/bar/g' < $i.bak > $i done