how to fix a unix shell script to work on linux

Matrix Mole matrixm at gmail.com
Sat Jan 12 19:25:12 MST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Josef Lowder wrote:
| .
| The following script used to work on my old unix system,
| to remove blank lines from a text file.  It no longer works
| on linux, but now it gives an error message (below):
|
| sed '/[!-~]/!d' $1
|
|
| This is the error message:
|
| sed: -e expression #1, char 7: Invalid range end
|
| How can I fix this?

If we're talking lines that have no content in them whatsoever then the
following should work:

sed -e '/^$/d' $1

If we're talking lines that have at least a space on them but nothing
else, then I'd think should work:

sed -e '/^\ *$/d' $1

I haven't had a chance to test these, but I think that should work (and
might even work on a unix platform as well as linux).

Matrix Mole
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHiXaINtosHRPp48MRAlrSAKCFw9H+tyMRXXrtni2Qhjw6VjxtmgCfak3z
Ts7M99WCXm1s3rTqMmjXiMk=
=MdnV
-----END PGP SIGNATURE-----


More information about the PLUG-discuss mailing list