Changing the behaviour of ls, possibly via a script
Luke Davis
ldavis at shellworld.net
Fri Aug 13 21:46:11 UTC 2004
If you use my version, replace "$*" with "$@".
My version also does not handle spaces in file names, although it could be
adapted to do so.
Tim: why did you skip $2 in the awk version?
On Fri, 13 Aug 2004, Tim Chase wrote:
> Lorenzo,
>
> Sed and/or awk are great tools for this sort of thing, and you don't have to
> know much about them to get this to work (especially as I'm handing them to
> you on a cut-n-paste platter [grins]). The following 2-line scriptlet should
> do the trick:
>
> #!/bin/sh
> ls -l $@ |awk '/^/{printf "%-20s%s %s %s\n", $9 $10 $11 $12, $1, $3, $4;}'
>
> Just paste it into something like "myls" in your path and "chmod u+x myls"
> the file to make it executable. You can adjust the width of the first column
> (currently set to 20) by changing that number in the script. It currently
> handles up to 3 spaces in your file name, assuming there aren't more than one
> consecutive space.
>
> Alternatively, if you prefer to use Sed, you can do the same sort of thing
> with this two-liner
>
> #!/bin/sh
> ls -l $@ |sed
> "s/\(\S*\)\s*\S*\s*\(\S*\s*\S*\)\s*\S*\s*\S*\s*\S*\s*\S*\s*\(.*\)/\3\t\1\2/g"
>
> The sed version is a bit more convoluted, but handles filenames with an
> arbitrary number of spaces. However, it doesn't nicely columnize things. If
> you're reading linearly, it shouldn't make a bit of difference. If, however,
> you're scanning by column, the awk version may be more useful as long as you
> don't have lots of arbitrary spaces in your file names.
>
> Both should allow you to pass parameters as well, so you can filter the
> filespec down to just what you want.
>
> Best wishes,
>
> -tim
>
> PS: those are both two-liners...the first line is the shell-specifier, and
> the second line is all one line, no matter how badly Mozilla-mail bungles it
> and tries to make it wrap.
>
> PPS: You may also have to hard-code the path to "/bin/ls" in there, as some
> distros attempt to alias "ls" to their colorized versions, and funky stuff
> can happen if you use that. The sed version should handle that pretty well,
> but the awk version does funny stuff.
>
>
>
>
>
> _______________________________________________
> Blinux-list mailing list
> Blinux-list at redhat.com
> https://www.redhat.com/mailman/listinfo/blinux-list
>
More information about the Blinux-list
mailing list