Change multiple files

sed

Solution

Better yet:

for i in xa*; do
    sed -i 's/asd/dfg/g' $i
done

because nobody knows how many files are there, and it's easy to break command line limits.

Here's what happens when there are too many files:

# grep -c aaa *
-bash: /bin/grep: Argument list too long
# for i in *; do grep -c aaa $i; done
0
... (output skipped)
#

Problem

The following command is correctly changing the contents of 2 files. ``` sed -i 's/abc/xyz/g' xaa1 xab1 ``` But what I need to do is to change several such files dynamically and I do not know the file names. I want to write a command that will read all the files from current directory starting with `xa*` and `sed` should change the file contents.

Original source

Related problems