はじめに
sedで一つ一つのファイルのある語を一斉に置換することは簡単にできるけれど、複数のファイルにそれぞれsedをかけていくのは面倒なので、一斉にできる方法を調べてみた。
結果
例えば、カレントディレクトリにあるすべてのhtmlファイルの http://www.ubuntu16.04 という記述を https://ubuntu18.04 に変えたいときは
find . -name "*.html" | xargs sed -i 's;http://www.ubuntu16.04;https://ubuntu18.04;g'
でオッケー。
find xargs sed
それぞれの使い方は各自で調べてください。
ちなみにMacでこれを使うとエラーが起きることがあるので、その時は
find . -name "*.html" | xargs sed -i '' 's;http://www.ubuntu16.04;https://ubuntu18.04;g'
を試してみる。-iの後ろにスペースとシングルクオート2つを入れた。