sed
Ytterligare alternativ
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
lkommandoradslindning - -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 $