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(a)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(a)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(a)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(a)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(a)redhat.com
> >
https://www.redhat.com/mailman/listinfo/fedora-directory-users
> >
> >
>
> --
> Fedora-directory-users mailing list
> Fedora-directory-users(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/fedora-directory-users
>
>
--
Fedora-directory-users mailing list
Fedora-directory-users(a)redhat.com
https://www.redhat.com/mailman/listinfo/fedora-directory-users