Matthew Edlefsen on 16 Nov 2009 19:25:57 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] extended 'cut' functionality?

>> Is there anything that provides similar, but extended, functionality to
>> count from the _end_ of a string?

>> -Randall

to remove the last 3 characters I'd use:

sed 's/.\{3\}$//'
or even simpler
sed 's/...$//'

though the former scales better :)
it may not be as simple as cut-from-end 3 but imho it's easier to
remember how to use sed than the various flags of all the other unix

> $ dirname /usr/share/doc/mysql-server-5.0/examples/my-small.cnf
> /usr/share/doc/mysql-server-5.0/examples
> This utility does not seem to read from standard input, so YMMV. You
> may be able to nest backticked statements, but that just seems so
> wrong...
> --
> Jim

xargs with the -n flag can do this kind of thing:

$ perldoc -l IO::Compress::Zip | xargs -n 1 dirname

If you have problems with spaces in names you can add quotes using (again) sed
$ echo "/root/silly dir/file.txt" | xargs -n 1 dirname
$ echo "/root/silly dir/file.txt" | sed 's/.*/"&"/' | xargs -n 1 dirname
/root/silly dir
Philadelphia Linux Users Group         --
Announcements -
General Discussion  --