[linux] Deel van een tekst bestand sorteren.

Geert Stappers stappers op stappers.nl
Zo Apr 28 10:21:55 CEST 2024


On Wed, Feb 14, 2024 at 04:35:29AM -0500, Richard Klein Leugemors via Linux wrote:
> On Woensdag 14 Februari 2024 10:09 CET, "M.A. Perry via Linux" wrote:
> > On Tue, Feb 13, 2024 at 08:32:56PM +0100, Geert Stappers via Linux wrote:
> > > 
> > > Van een zwik tekstbestanden wil ik een gedeelte sorteren.
> > > 
> > > Voorbeeld bestand
> > > ---
> > > Er was eens
> > > - Romeo
> > > - Charlie
> > > - Mike
> > > Lang en gelukkig
> > > ---
> > > 
> > > Dat zou na de gedeeltelijke sortering
> > > ---
> > > Er was eens
> > > - Charlie
> > > - Mike
> > > - Romeo
> > > Lang en gelukkig
> > > ---
> > > moeten worden.
> > > 
> > > 
> > > De echte bestanden hebben meer "kop" en "staart" regels.
> > > En de aantalen regels varieren.
> > > 
> > > Het te sorteren deel is wel met "grep" te herkenen.
> > > In het voorbeeld  met `grep ^\-`
> > > - Romeo
> > > - Charlie
> > > - Mike
> > > 
> > > 
> > > Hoe die regels te sorteren en kop plus staart heel te laten?
> > 
> > Kort antwoord:
> > (Ik hoop dat ik de puristen niet teleurstel)
> > Gebruik LibreOfficeCalc.
> > ('tis geen toetsbord handeling, maar het blijkt te werken.
> > 
> > Lange antwoord:
> > 1.  Kopie de tekst naar een "spreadsheet" van LinbreOfficeCalc
> > 2.  Blok-in het te sorteren tekst. (Vermijd voet en aanhef dus)
> > 3.  Data --> Sort Ascedning|Descending
> > 4.  File --> SaveAs  .csv
> > 5.  Extensie .csv wijzigen in .txt (of wat je wil)
> > 
> > Natuurlijk past dit oplissing niet makkelijk aan een bash script.
> 
> Kan dat niet veel eenvoudiger met vim? (als 't platte tekst is)
> 
> Met visual mode (V) aangeven wat je wilt sorteren en dan   :sort<enter>
> 

Het betrof inderdaad platte tekst, namelijk source code. En is commit 
 https://github.com/ipxe/ipxe/commit/e5f3ba0ca773e8ea4dcfec6e10f18a06d14e79e0
geworden.


Groeten
Geert Stappers
-- 
Silence is hard to parse


Meer informatie over de Linux maillijst