現在、次のコマンドを使用して dos2unix の行末を変更していますが、これは file-y ファイル用です...
sed -i 's/\r//' filename
ディレクトリ内のすべてのファイルに対してこのコマンドを実行する方法はありますか?
別のオプション:find your_dir type f -exec sed -i 's/\r//' {} \;
なぜ dos2unix コマンドを使用しないのですか? 上記の sed だけを実行している場合、(ソースによっては) 正しくない EOF を持つファイルが存在する可能性があります (cat を実行すると、その後のプロンプトがファイル出力に連結されます)。
for i in `find . -type f \( -name "*.c" -o -name "*.h" \)`; do sed -i 's/\r//' $i ; done
別の参照を追加するだけです...
Ubuntu 14.04man dos2unix
では、このページには、特に再帰的変換の例が示されています。
find . -name *.txt | xargs dos2unix
マニュアルページから引用すると、これは
... 現在のディレクトリの下にあるディレクトリ ツリー内のすべての .txt ファイルを変換します ...
find $(pwd) -type f | xargs -I xxx sed -i 's/\r//g' xxx