Aquests 10 exemples Sed us convertiran en un usuari avançat de Linux

Aquests 10 exemples Sed us convertiran en un usuari avançat de Linux

Editar fitxers de text i sortida de terminal és una tasca quotidiana per a aquells que administren màquines Linux. Les utilitats de línia d’ordres com sed permeten a un usuari modificar i canviar el contingut d’un fitxer de text des de la finestra del terminal.





En aquest article, parlarem detalladament de l'ordre sed, juntament amb alguns exemples essencials que demostren la potència de la utilitat sed a Linux.





Què és l'ordre sed?

L'ordre sed, que és un acrònim de Editor de transmissions , és una eina de línia d'ordres que permet als usuaris de Linux realitzar operacions basades en text en fitxers i sortides de terminal. Mitjançant sed, els usuaris poden trobar i substituir paraules específiques en un text, mostrar una secció determinada de la sortida i editar fitxers de text sense obrir-los.





Les tres operacions bàsiques admeses per l'ordre sed són:

  1. Inserció
  2. Supressió
  3. Substitució (Cerca i substitució)

Els usuaris avançats també poden implementar expressions regulars amb l’ordre sed per editar fluxos de text de manera més eficient.



La sintaxi bàsica de l'ordre és:

sed [options] [pattern] [filepath]

... on opcions són les diverses funcionalitats de l'ordre, patró és l'expressió regular o l'script que voleu coincidir i ruta d'arxiu és el camí d'accés al fitxer de text que conté el text.





com solucionar un elevat ús de la CPU

10 Exemples de l'ordre Linux sed

Si teniu previst convertir-vos en un usuari normal de Linux, us pot ser útil saber editar fitxers, cercar i substituir paraules específiques i filtrar la sortida del terminal. Aquesta secció cobreix alguns exemples de l'ordre sed que definitivament us convertirà en un usuari avançat de Linux.

Utilitzarem el següent fitxer de text per demostrar-lo a la publicació.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Visualitzeu un rang de línies

Les ordres de Linux, com ara head and tail, produeixen la primera o les darreres deu línies d'un fitxer de text. Però, i si voleu obtenir el contingut entre dues línies específiques en un fitxer? En aquestes situacions, l'ordre sed pot ser útil.

Per generar el contingut entre les línies 3 i 5 del fitxer textfile.txt :

sed -n '3,5p' textfile.txt

El -n La bandera evita que sed mostri l'espai del patró al final de cada cicle. També podeu utilitzar el fitxer --tranquil i --silenciat opcions en lloc de -n . El pàg argument significa imprimir i s'utilitza per mostrar les línies coincidents a l'usuari.

L'execució de l'ordre esmentada al fitxer d'exemple produeix la següent sortida.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

Per generar tot el contingut del fitxer, tret de l'interval especificat, utilitzeu el fitxer d bandera en lloc de pàg a l'ordre:

sed '3,5d' textfile.txt

El d flag elimina les cadenes coincidents de la sortida i mostra la resta del contingut.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Mostra línies no consecutives

Per imprimir línies no consecutives entre diversos intervals del fitxer:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Sortida:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

El -I la bandera hi ajuda executant accions múltiples mitjançant una sola ordre.

3. Inseriu espai entre línies

Si per qualsevol motiu voleu inserir línies buides entre cada línia en un fitxer de text, utilitzeu el fitxer G argument amb l'ordre sed per defecte.

connectat però sense accés a Internet de Windows 7
sed G textfile.txt

Per inserir diverses línies buides a la sortida, passeu-ne diverses G arguments separats per la punt i coma ( ; ) personatge.

sed 'G;G' textfile.txt

4. Substituïu una paraula en un fitxer de text

Si voleu substituir cada ocurrència d'una paraula específica per alguna altra paraula, utilitzeu el fitxer s i g arguments amb l'ordre. La sintaxi bàsica per substituir paraules mitjançant l'ordre sed és:

sed s/originalword/replaceword/g filename

Mitjançant la sintaxi esmentada, podeu substituir la paraula increïble amb súper al fitxer textfile.txt :

sed s/amazing/super/g textfile.txt

El s argument denota substitució i la g s'utilitza l'ordre per substituir el contingut coincident pel contingut de substitució especificat.

Per substituir la segona aparició de la paraula per sed, passeu un número a g argument. En aquest cas:

sed s/amazing/super/g2 textfile.txt

Si voleu ignorar les majúscules i minúscules mentre substitueixen paraules, utilitzeu donar en lloc de g , on jo significa ignorar Caixa.

sed s/Amazing/super/gi textfile.txt

Relacionat: Feu servir Vi? A continuació s’explica com obrir un fitxer i desar-lo i sortir-ne

5. Substituir paraules dins d'un rang

També podeu substituir paraules dins d’un interval específic.

sed '2,5s/amazing/super/g' textfile.txt

6. Realitzeu diverses substitucions alhora

Si voleu realitzar dues o més substitucions alhora, separeu les ordres amb el fitxer punt i coma ( ; ) personatge.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

El sistema mostrarà la següent sortida.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Substituïu les paraules només si es troba una coincidència

També podeu utilitzar l'ordre sed per substituir una paraula només si es troba una coincidència determinada a la línia. Per exemple, per substituir la paraula a amb un si la paraula taronja està present a la línia:

sed -e '/orange/ s/a/an/g' textfile.txt

Emetent l’ordre esmentada es produirà:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Tingueu en compte que la paraula a a la línia Es tracta d’una poma no s'ha substituït ja que el sistema no ha trobat la paraula taronja en ell.

8. Substituir paraules amb expressions regulars

Per a aquells que saben utilitzar expressions regulars, fer operacions en cadenes amb l'ordre sed es fa molt més fàcil. Podeu implementar expressions regulars per millorar la potència de l'ordre.

Per substituir totes les aparicions de la paraula Increïble o bé increïble amb súper :

sed -e 's/[Aa]mazing/super/g' textfile.txt

De la mateixa manera, també podeu utilitzar expressions regulars avançades per executar operacions específiques mitjançant l'ordre sed.

9. Pipe sed Amb altres ordres

També podeu encadenar sed amb altres ordres de Linux. Per exemple, podeu canviar el fitxer lspci ordre amb sed per afegir espais buits entre línies a la sortida.

lspci | sed G

Per substituir paraules específiques a la sortida del fitxer espectacle de ruta ip comandament:

ip route show | sed s/src/source/g

L'esmentada ordre substitueix la paraula font en lloc de la paraula original src .

Relacionat: Com s'utilitza l'ordre Cerca per cercar fitxers a Linux

10. Editeu i feu una còpia de seguretat del fitxer original

Quan treballeu amb fitxers del sistema, és important fer una còpia de seguretat del fitxer original mentre feu canvis. Això us ajudarà a revertir els canvis en cas que alguna cosa es trenqui.

Per fer una còpia de seguretat del fitxer original mitjançant sed, utilitzeu el fitxer -i marca a l'ordre.

quantes imatges contenen 32 GB
sed -i'.backup' 's/amazing/super/g' textfile.txt

Es crearà un fitxer nou amb el nom textfile.txt.backup . Podeu comprovar que els dos fitxers són diferents mitjançant el fitxer dif comandament.

diff textfile.txt textfile.txt.backup

Edició de cadenes a Linux amb sed

De vegades, mentre esteu treballant amb fitxers de text al terminal, el format i l’edició de la sortida per a una millor llegibilitat esdevé imprescindible. Sed i awk són utilitats de línia d’ordres a Linux que permeten a un usuari treballar eficaçment amb fitxers de text dividint les dades en línies separades.

A molts usuaris els costa memoritzar els arguments i els indicadors de l’ordre sed, ja que n’hi ha molts que estan disponibles per utilitzar. Saber obtenir manuals de línia d’ordres per a qualsevol ordre de Linux us ajudarà a sortir fàcilment d’aquestes situacions.

Compartir Compartir Tweet Correu electrònic 7 maneres d'obtenir ajuda a la línia d'ordres a Linux

Totes les ordres essencials per aprendre sobre les ordres de Linux des de la línia d'ordres

Llegiu a continuació
Temes relacionats
  • Linux
  • Editor de text
  • terminal
  • Símbol d'ordres
Sobre l'autor Deepesh Sharma(79 articles publicats)

Deepesh és l'editor júnior de Linux a MUO. Escriu guies informatives a Linux, amb l'objectiu de proporcionar una experiència feliç a tots els nouvinguts. No estic segur de les pel·lícules, però si vols parlar de tecnologia, ell és el teu noi. Durant el temps lliure, el trobareu llegint llibres, escoltant diferents gèneres musicals o tocant la seva guitarra.

Més de Deepesh Sharma

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us