Replace a string in all files - Unix Replace a string in all files - Unix unix unix

Replace a string in all files - Unix


find . -name "./td/*.c" -exec sed -i "s/:::/::/g" '{}' \;

No need for od/ at all.

EDIT:

A slightly simpler variation:

ls td/*.c | xargs sed -i '' "s/:::/::/g"


A simple loop to process each file with sed should suffice.

for inp in ./td/*; do    fname=${inp##*/}    sed 's/:::/::/g' "$inp" > ./od/"$fname"done