[Fedora-directory-users] Question on hierarchy tree deletion

J. Hartman joona.hartman at gmail.com
Mon Apr 21 14:04:33 UTC 2008


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 <
beyonddc.storage at gmail.com> 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 <joona.hartman at gmail.com>
> 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 <
> > beyonddc.storage at gmail.com> 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 <
> > > beyonddc.storage at gmail.com> 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
> > > Fedora-directory-users at redhat.com
> > > https://www.redhat.com/mailman/listinfo/fedora-directory-users
> > >
> > >
> >
> > --
> > Fedora-directory-users mailing list
> > Fedora-directory-users at redhat.com
> > https://www.redhat.com/mailman/listinfo/fedora-directory-users
> >
> >
>
> --
> Fedora-directory-users mailing list
> Fedora-directory-users at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20080421/ef297623/attachment.htm>


More information about the Fedora-directory-users mailing list