Tabla de contenido
6. Reemplace los dos primeros KFC en cada línea con CPU
7. Reemplace el primer HBW en la segunda línea con MDL
9. Agregue pollo al comienzo de la primera línea (el símbolo ^ representa el comienzo de la línea)
10. Agregue hermoso al final de la primera línea (el símbolo $ representa el final de la línea)
12. Se pueden ejecutar varias acciones de reemplazo juntas separándolas con punto y coma;
1. Crea un archivo txt
vi huawei.txt
2. Reemplace el primer huawei en cada línea con apple, y después del tercer "/", si no se agregan parámetros, solo se reemplazará el primero
sed -i "s/huawei/manzana/" huawei.txt
Darse cuenta del efecto:
3. Reemplace todo xiaomi en cada línea con iphone, después del tercer "/", agregue el parámetro g para reemplazar todo
sed -i "s/xiaomi/iphone/g" huawei.txt
Darse cuenta del efecto:
4. Reemplace el segundo redmi en cada línea con papa, después del tercer "/", agregue el parámetro 2 para reemplazar el segundo
sed -i "s/redmi/patata/2"
5. Reemplace el segundo mate al último mate en cada línea con pico, después del tercero "/", agregue el parámetro 2g para reemplazar el segundo al último
sed -i "s/mate/pico/2g"
6. Reemplace los dos primeros KFC en cada línea con CPU
sed -i "s/KFC/CPU/"
sed -i "s/KFC/CPU/"
Reemplace el primero primero. En este momento, la segunda cadena original se convierte en la primera en orden, así que reemplácela nuevamente
(El alcance de las operaciones anteriores es para cada línea. A continuación, filtramos con precisión la línea específica o el número de líneas que deben modificarse. Para facilitar la demostración, solo cambiamos la primera cadena de la línea específica. Eso es , sin agregar "g")
7. Reemplace el primer HBW en la segunda línea con MDL
sed -i "2s/HBW/MDL/" HBW.txt
8. Reemplace HBW desde la segunda línea hasta la última línea con MDL (el símbolo $ significa la última línea, si escribe un número, significa la línea numérica)
sed -i '2,$s/HBW/MDL/' HBW.txt
Tenga en cuenta que cuando se usa una coma "," en una declaración, las comillas simples deben usarse fuera de la declaración
(Todos los anteriores son reemplazos de la cadena específica en sí, y luego modificamos el principio o el final de la línea).
9. Agregue pollo al comienzo de la primera línea (el símbolo ^ representa el comienzo de la línea)
sed -i '1s/^/pollo/' ktv.txt
10. Agregue hermoso al final de la primera línea (el símbolo $ representa el final de la línea)
sed -i '1s/$/hermoso/' ktv.txt
(Después de usar el comando sed -i para modificar directamente el archivo, ¿qué debo hacer si me arrepiento? Puede agregar el parámetro -i.bak y se creará una copia de seguridad durante la modificación)
11. Agregue pollo al comienzo de cada línea y cree un archivo de copia de seguridad al mismo tiempo (archivos de copia de seguridad que no se han escrito en pollo)
sed -i.bak 's/^/pollo/' aaa.txt
12. Se pueden ejecutar varias acciones de reemplazo juntas separándolas con punto y coma;
Al mismo tiempo, agregue top al comienzo de todas las líneas y agregue bottom al final de todas las líneas (tenga en cuenta que el parámetro -i no se llama y el resultado de la modificación no se escribirá en el archivo
sed 's/^/superior/;s/$/inferior/' aaa.txt
Trece, si la cadena que se va a reemplazar contiene comillas simples ', use comillas dobles para rodear los parámetros
Reemplace n'a en cada línea con na, (tenga en cuenta que el parámetro -i no se usa por conveniencia, y el resultado de la modificación no se escribirá en el archivo)
sed "s/n'a/na/" aaa.txt
14. La barra inclinada/ en sí misma se usa como separador en la instrucción sed, pero si la cadena que se va a reemplazar también contiene una barra inclinada/, entonces puede usar el signo de libra # como separador (¿también puede usar un signo de interrogación?)
Reemplace n/a con na, (el parámetro -i no se llama, el resultado de la modificación no se escribirá en el archivo)
sed "s#n/a#na#" aaa.txt
sed "s?n/a?na?" aaa.txt
Comprensión: la conveniencia de sed es que puede ubicar y editar rápidamente una determinada palabra clave en el contenido del documento (conoce la cadena), pero es difícil usar directamente sed para resolver la cadena desconocida. Por ejemplo, en el libro de contraseñas, quiero reemplazar todas las contraseñas, pero todas son cadenas aleatorias. Si el contenido del archivo es "contraseña: 12345678; contraseña: 22345678;...", entonces solo puedo ubicar "contraseña :" y "; ", aún debe estudiarse cómo continuar reemplazando el "12345678" no fijo