Ayuda a escribir un script de shell en Linux (use el comando sed para procesar el archivo hosts)
#El siguiente es el contenido del script. Tenga en cuenta que modificar el archivo /etc/hosts requiere permisos de superusuario. En otras palabras, necesita sudo para ejecutar este script.
#!/bin/bash
DELIM="'"
N=2
echo "Por favor, envíeme el archivo ."
#read storepath1
storepath1="/etc/hosts"
storepath1=`echo "$storepath1" | cut -d "$DELIM" -f $N`
#Esto es fácil de entender:
#1 Reemplaza las líneas que no comienzan con # con aquellas que comienzan con !!@
#3. Reemplace !!@ con el número #
#sed -i -r -e '/^. # /! s|^|!!@|' -e 's|^#||' -e 's|^!!@|#|' "$storepath1"
#Esto es más conciso
#Si la línea comienza con #, elimine #.
# Si la operación de eliminación se acaba de realizar, realice la operación t, salte al final del script sed y finalice la operación.
# Si no se ha realizado ninguna operación de eliminación en este momento, continúe ejecutando s|^|#| y agregue un signo # al principio.
#sed -i -r -e 's|^#||;t;s|^|#|' "$storepath1"
#Esto coincide con 3 dígitos o más líneas que comienzan con un punto
#El principio es el mismo que el anterior, excepto que en lugar de procesar cada línea, procesa líneas que comienzan con un número de tres dígitos más un punto.
sed -i -r -e 's|^#([0-9]{3}\.)|\1|;t;s|^([0-9]{3} \.)|#\1|' "$rutatienda1"