Sök…


Syntax

  • -a - (BSD sed) Skapa / trunkera alla filer skrivna till innan bearbetning
  • -E | -r - Använd utökade regelbundna uttryck
  • -i | -I - Se ämnet om platsredigering
  • -l - (BSD sed) Använd linjebuffrad utgång
  • -l längd - (GNU sed) Ange längden för l kommandoradslindning
  • -s - (GNU sed) Behandla filer som separata strömmar
  • -u - Buffera inte utgången
  • -z - (GNU sed) Använd NUL-tecknet för att separera poster
  • - tyst | --silent - (GNU sed) Synonymer för -n
  • - expression = command - (GNU sed) Synonym för -e
  • - fil = command_file - (GNU sed) Synonym för -f
  • - Följande symlänkar - (GNU sed) Följ symlänkar
  • --in-place [= förlängning] - (GNU sed) Synonym för -i
  • - line-length = length - (GNU sed) Synonym för -l
  • - separat - (GNU sed) Synonym för -s
  • --unbuffered - (GNU sed) Synonym för -u
  • --null-data - (GNU sed) Synonym för -z
  • --hjälp - (GNU sed) Utskriftsanvändning
  • --version - (GNU sed) Utskriftsversion

Anmärkningar

Alternativet -E ska standardiseras i nästa större version, se relevant problem .

Försena skapande / avkortning av filer

Filer skrivna till med w kommandot skapas / trunkeras innan några kommandon körs.

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

Från standarden:

Varje fil ska skapas innan behandlingen påbörjas. Implementeringar ska stödja minst tio filfilargument i skriptet; det faktiska antalet (större än eller lika med 10) som stöds av implementeringen är inte specificerat. Användningen av wfile-parametern ska göra att filen ursprungligen skapas, om den inte finns, eller ska ersätta innehållet i en befintlig fil.


BSD sed ger -a alternativet försening skapar / trunkering filer tills de skrivs till med w kommandot.

$ 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

Längden på radomslaget när du använder l kommandot definieras implementering.

Från standarden:

Långa rader ska vikas med vikningspunkten indikerad genom att skriva en följt av a; längden vid vilken vikning sker är inte specificerad, men bör vara lämplig för utgångsenheten.


GNU sed tillhandahåller -l alternativet för att ange längden för att dela långa rader vid utskrift med l kommandot, som har sjuttio tecken.

$ 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 delar upp långa rader vid det antal som tillhandahålls av miljövariabeln COLUMNS , om COLUMNS inte tillhandahålls delas det vid terminalbredden, och om COULMNS inte tillhandahålls och utgången inte är en terminal, är den standard till sextio tecken.

$ 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow