次のコマンドを適用してみてください。
sudo sed -i "s/auth-user-pass/auth-user-pass pass.txt/g" *.ovpn
ただし、引き続き次のエラーが発生します。
sudo: unable to execute /bin/sed: Argument list too long
引っ越したいですかxargs
?
ベストアンサー1
非xargs
変形用途find
:
find . -maxdepth 1 -type f -name '*.ovpn' \
-exec sed -i 's/auth-user-pass/auth-user-pass pass.txt/g' {} +
これにより、sed
現在のディレクトリ内の指定されたパターンに一致する最大のファイル名の配置(通常のファイルのみ、一致するディレクトリ名なしなど)に対してコマンドが実行されます。また、潜在的に奇妙なファイル名(スペース、改行など)も処理します。
オプション-maxdepth
/predicatesは標準ではありませんが、頻繁に実装されています。