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