フォルダに含まれているファイルで、その用語が表示されるすべての項目を置き換えます。

フォルダに含まれているファイルで、その用語が表示されるすべての項目を置き換えます。

私のシステムのフォルダにC++コンパイルしたいプロジェクトがあります。

この手順では、C++私のバージョンのコンパイラがサポートしていないいくつかの慣用語を使用します。特に、コード内でデータ値が使用されることがよくあります'nullptr'

私がしたいことはnullptrNULL

次のコマンドを使用してこれを実行できますVIM

:%s/nullptr/NULL/g 

各ファイルを開き、コマンドを実行せずにディレクトリ内のすべてのファイルに対してこれをどのように一度実行できますか?

ベストアンサー1

for file in /path/to/dir/*; do
  sed -i s/nullptr/NULL/g "$file"
done

ただし、これはサブディレクトリには影響しません。

編集1

より高速なソリューション(GNUを使用):

find /path/to/dir -type f -print0 | xargs -0 sed -i s/nullptr/NULL/g

これはサブディレクトリ(およびドットファイル)にも影響します。-maxdepth 1必要でない場合は追加してください。

おすすめ記事