Successivo: tac, Precedente: Stampare le variabili di ambiente bash, Su: Esempi [Contenuti][Indice]
Questo script può essere usato per invertire la posizione dei caratteri nelle righe. La tecnica consiste nel muovere due caratteri alla volta, per cui è più veloce di altre implementazioni più intuitive.
Si noti il comando tx prima della definizione dell’etichetta.
Spesso si rende necessario per reimpostare il flag che è testato
dal comando t.
I lettori fantasiosi troveranno come usare questo script. Un esempio è
l’inversione dell’output di banner.8
#!/usr/bin/sed -f /../! b
# Inverte una riga. Inizia inserendo una riga fra due newline s/^.*$/\ &\ /
# Sposta il primo carattere alla fine. La regexp cerca corrispondenze # fino a quando trova zero o uno caratteri tra i marcatori tx :x s/\(\n.\)\(.*\)\(.\n\)/\3\2\1/ tx
# Rimuove i marcatori newline s/\n//g
Richiede un altro script per riempire l’output di banner; per esempio
#! /bin/sh
banner -w $1 $2 $3 $4 |
sed -e :a -e '/^.\{0,'$1'\}$/ { s/$/ /; ba; }' |
~/sedscripts/reverseline.sed