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

Re: nano spaties einde regel



On Sat, 2016-01-23 at 16:33 +0100, Luuk wrote:
> On 23-01-16 15:35, Frans van Berckel wrote:
> > On Sat, 2016-01-23 at 15:01 +0100, Richard Lucassen wrote:
> > > On Sat, 23 Jan 2016 14:11:13 +0100
> > > Frans van Berckel <fberckel@xs4all.nl> wrote:
> > > 
> > > > Wie is erg handig met nano? Gaat om een bestaand software
> > > > project
> > > > geschreven in c++, waar ik vandaag ingedoken ben.
> > > > 
> > > > Deze heeft in haar files nog spatie (of soms een paar) aan het
> > > > einde
> > > > van de regel staan, voor de return naar de volgende regel.
> > > > 
> > > > Met nano, hoe zoek en vervang ik deze, voor alleen een return?
> > > nano ken ik niet maar sed kan dat:
> > > 
> > > sed -e 's/ $//' bestand > testbestand
> > > 
> > > Dit is een veilige optie. Kijk of testbestand goed is nu.
> > > 
> > > Sommige versies van sed kennen ook de -i optie:
> > > 
> > > sed -i -e 's/ $//' bestand
> > > 
> > > Maar dat is link want als het fout gaat zit je.
> > Met een -i, dat gaat echt super. Gewoon heel veel sneller dan alles
> > met
> > de hand nalopen. En wat moet ik aanpassen, als er aan het einde van
> > een
> > zin een tab en een return staat? Dat lijkt mij ook vrij overbodig!!
> > 

> sed -e 's/ $//' bestand > testbestand
> sloopt alleen de laatste spatie van de regel
> 
> sed -e 's/ *$//' bestand > testbestand
> sloopt 0 of meer spaties
> 
> sed -e 's/[ \t]*$//' bestand > testbestand
> sloopt spaties of tabs

Loving this ...

# cat cleanup.sh 

FILES="*.c
*.h
cbios/*.c
cbios/*.h"

for f in $FILES
do
	echo "Processing $f"
	sed -i -e 's/[ \t]*$//' $f
done


Reply to: