ASCII files becoming double lined

Jerry McAllister jerrymc at clunix.cl.msu.edu
Thu Mar 30 15:20:35 UTC 2006


> 
> 
> Hello!
> 
> Sometimes I notice ASCII files becoming double lined.
> As in there somehow appearing an empty line in between every line.
> 
> Why is this? And:
> 
> 01 How can I detect files with double lines?
> 02 And then eliminate this double lining?

Check out tr(1)
It will quite easily remove the extra CR in every line.
Then, if you need, you can rename the clean file to the dirty file
  something like:   # tr -d "\r" < dirtyfile > cleanfile
                    # mv cleanfile dirtyfile

Sorry, it takes two steps.
Thre are other methods that do it without a second file, but
for newbies, this is easier to understand.

////jerry

> 
> The goal would be to apply 01 and 02 to this script:
> 
> #!/usr/local/bin/bash
> #
> #   Remove CRLF, trailing whitespace and blank lines.
> #   $MARBEJA: clean.sh,v 1.0 2007/11/11 15:09:05 awad Exp $
> #
> 
> for file in `find -s . -type f`; do
> 
> 	if file -b "$file" | grep -q 'text'; then
> 
> 		echo >> "$file"
> 
> 		tr -d '\r' < "$file" \
> 		| sed -E -e 's/[[:space:]]+$//' \
> 		| cat -s - > "${file}.tmp" && mv -f "${file}.tmp" "$file"
> 
> 		echo "$file: Done"
> 
> 	fi
> 
> done
> 
> Thanks,
> Vaaf
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 



More information about the freebsd-questions mailing list