30 lines
1.1 KiB
Bash
30 lines
1.1 KiB
Bash
# line ending management script
|
|
# CRLF - windows default ('\r\n')
|
|
# LF - unix default ('\n')
|
|
# arguments:
|
|
# ?crlf - print all .cpp and .h files with CRLF line endings
|
|
# ?lf - print all .cpp and .h files with LF line endings
|
|
# crlf - replace line endings in all .cpp and .h files to CRLF
|
|
# lf - replace line endings in all .cpp and .h files to LF
|
|
|
|
if [ "$1" == "?crlf" ] || [ $# -eq 0 ]; then
|
|
echo 'cpp and h files with CRLF line endings:'
|
|
find {*.cpp,*.h} -not -type d -exec file "{}" ";" | grep CRLF | sed 's/:.*//g'
|
|
elif [ "$1" == "?lf" ]; then
|
|
echo 'cpp and h files with LF line endings:'
|
|
find {*.cpp,*.h} -not -type d -exec file "{}" ";" | grep -v CRLF | sed 's/:.*//g'
|
|
fi
|
|
if [ "$1" == "crlf" ]; then
|
|
echo 'replacing LF with CRLF in all cpp and h files:'
|
|
find {*.cpp,*.h} -not -type d -exec file "{}" ";" | grep -v CRLF | sed 's/:.*//g' | while read fn; do
|
|
echo "$fn"
|
|
sed -i 's/$/\r/g' $fn
|
|
done
|
|
elif [ "$1" == "lf" ]; then
|
|
echo 'replacing CRLF with LF in all cpp and h files:'
|
|
find {*.cpp,*.h} -not -type d -exec file "{}" ";" | grep CRLF | sed 's/:.*//g' | while read fn; do
|
|
echo "$fn"
|
|
sed -i 's/\r\n/\n/g' $fn
|
|
done
|
|
fi
|