I can't remember how exactly I did it, but I recall I used awk and sort in
between to count the line length (awk) and do numeric sort on the resulting
line.

Something like this:

$ ldapsearch -b BASEDN "objectclass=*" | awk '/dn:/ {l=length($0);
sub(/dn:/,""); print l $0}' | sort -n | cut ... | ldapdelete ...

Gets a bit nasty but something like that should work.

Hope that helps!

On Fri, Apr 18, 2008 at 5:26 PM, Chun Tat David Chu <
[EMAIL PROTECTED]> wrote:

> Joona,
>
> Do you mind to show me how to sort by DN length? and execute the
> ldapdelete?
> I looked at it a bit but I couldn't figure out.
>
> Thanks!
>
> David
>
>
> On Fri, Apr 18, 2008 at 6:41 AM, J. Hartman <[EMAIL PROTECTED]>
> wrote:
>
> > Hi,
> >
> > I've done subtree deletion sometimes by sorting based on DN length.
> > Delete longest DNs first and it's certain that they are the leafs. The whole
> > thing can be done in a one-liner.
> >
> > -Joona
> >
> > On Thu, Apr 17, 2008 at 9:32 PM, Chun Tat David Chu <
> > [EMAIL PROTECTED]> wrote:
> >
> > >  Hi group,
> > >
> > > I figured out how to sort in descending order using ldapsearch.
> > >
> > > By default, it will always sort in ascending order.  If I need to sort
> > > in descending then I need to add a "-" prefix before my attribute name.
> > > (e.g. -S -createtimestamp).
> > >
> > > In addition, I can only get the descending search work only if I
> > > specify the sorting to be done by the server by passing the "-x" flag.
> > >
> > > I still have the question about what is the best way to delete a
> > > hierarchy tree using command line utility provided by Fedora-DS package.
> > >
> > > My current plan is to do a ldapsearch with subtree scope and sort the
> > > createtimestamp attribute in descending order.  Then take the output and 
> > > run
> > > it with ldapdelete.
> > >
> > > Thanks!
> > >
> > > David
> > >
> > >
> > > On Thu, Apr 17, 2008 at 2:01 PM, Chun Tat David Chu <
> > > [EMAIL PROTECTED]> wrote:
> > >
> > > > Hi group,
> > > >
> > > > I've a question about deleting the hierarchy tree using the Fedora
> > > > DS provided command line utilities (e.g. ldapdelete, ldapsearch, 
> > > > ldapmodify
> > > > and etc).
> > > >
> > > > Originally, I'm using the "ldapdelete" command from the
> > > > openldapclient package with the "-r" flag to do recursive delete on the
> > > > hierarchy tree, but I want to know if there's anyway I can achieve the 
> > > > same
> > > > effect by using command line utilities from the Fedora DS package.
> > > >
> > > > My original thought is to use ldapsearch, set it to return only the
> > > > "dn" attribute and sorted by "createtimestamp" attribute.  Then use the
> > > > returned result and run the ldapdelete command.  Assuming a child entry 
> > > > must
> > > > have a later "createtimestamp" then parent entry.  However, the result
> > > > returned back from ldapsearch is in ascending order of the 
> > > > "createtimestamp"
> > > > attribute.
> > > >
> > > > Is there a way to tell the ldapsearch command to sort returned
> > > > result in descending order?  or
> > > > Is there a more efficient way to delete a hierarchy tree through
> > > > command line?
> > > >
> > > > Thanks!
> > > >
> > > > David
> > > >
> > >
> > >
> > > --
> > > Fedora-directory-users mailing list
> > > [email protected]
> > > https://www.redhat.com/mailman/listinfo/fedora-directory-users
> > >
> > >
> >
> > --
> > Fedora-directory-users mailing list
> > [email protected]
> > https://www.redhat.com/mailman/listinfo/fedora-directory-users
> >
> >
>
> --
> Fedora-directory-users mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>
>
--
Fedora-directory-users mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/fedora-directory-users

Reply via email to