Ricerca…


Sintassi

  • -a - (BSD sed) Crea / tronca tutti i file scritti prima dell'elaborazione
  • -E | -r - Usa le espressioni regolari estese
  • -i | -I - Fare riferimento all'argomento sul montaggio diretto
  • -l - (BSD sed) Usa l'output con buffer di linea
  • -l lunghezza - (GNU sed) Specifica la lunghezza per l avvolgimento riga di comando
  • -s - (GNU sed) Tratta i file come flussi separati
  • -u - Non bufferizzare l'output
  • -z - (GNU sed) Usa il carattere NUL per separare i record
  • --quiet | --silent - (GNU sed) Sinonimi per -n
  • --expression = command - (GNU sed) Sinonimo di -e
  • --file = command_file - (GNU sed) Sinonimo di -f
  • - follow-symlinks - (GNU sed) Segui i collegamenti simbolici
  • --in-place [= estensione] - (GNU sed) Sinonimo di -i
  • --line-length = length - (GNU sed) Sinonimo di -l
  • --separate - (GNU sed) Sinonimo di -s
  • --unbuffered - (GNU sed) Sinonimo di -u
  • --null-data - (GNU sed) Sinonimo di -z
  • --help - (GNU sed) Utilizzo della stampa
  • --version - (GNU sed) Versione di stampa

Osservazioni

L'opzione -E deve essere standardizzata nella prossima versione principale, vedere il problema pertinente .

Ritardo Creazione / Troncamento di file

I file scritti con il comando w vengono creati / troncati prima dell'esecuzione di qualsiasi comando.

$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file

Dallo standard:

Ogni wfile deve essere creato prima dell'elaborazione. Le implementazioni devono supportare almeno dieci argomenti wfile nella sceneggiatura; il numero effettivo (maggiore o uguale a 10) supportato dall'implementazione non è specificato. L'uso del parametro wfile farà sì che quel file sia inizialmente creato, se non esiste, o sostituirà il contenuto di un file esistente.


BSD sed fornisce l'opzione -a per ritardare la creazione / il troncamento dei file fino a quando non vengono scritti con il comando w .

$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
>       echo The file was not created
> fi
The file was not created

'l' Line-Wrapping

La lunghezza della linea di avvolgimento quando si utilizza il comando l è definita dall'implementazione.

Dallo standard:

Le linee lunghe devono essere piegate, con il punto di piegatura indicato con la scritta a seguita da a; la lunghezza a cui avviene la piegatura non è specificata, ma dovrebbe essere appropriata per il dispositivo di output.


GNU sed fornisce l'opzione -l per specificare la lunghezza alla quale dividere le linee lunghe quando si stampa con il comando l , con l'impostazione predefinita di settanta caratteri.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
      51

BSD sed divide lunghe righe al numero fornito dalla variabile di ambiente COLUMNS , se COLUMNS non viene fornito, si divide alla larghezza del terminale e se COULMNS non viene fornito e l'output non è un terminale, il suo valore predefinito è di sessanta caratteri.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
      51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
 y y y y y y y y y y $


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow