LinuxParty
Para extraer valores entrecomillados en Linux puedes hacer...
awk -F '"' '{print $2}'
O a un comando de corte como este:
bash">cut -d'"' -f2
Utilizando sed:
sed 's/^[^"]*"\([^"]*\)".*/\1/'
Alternativa 1:
SUBSTRING=`echo "$SUBSTRING" | cut -d'"' -f 2`
Alternativa 2:
SUBSTRING=`echo "$SUBSTRING" | awk -F'"' '{print $2}'`
Alternativa 3:
set -f;IFS='"'; SUBSTRING=($SUBSTRING); SUBSTRING=${SUBSTRING[1]};set +f
Usando grep + sed
Esto analizará el contenido de esas 2 cadenas:
$ grep -o '".*"' somefile | sed 's/"//g' cadena1 cadena2
Lo anterior busca una cadena que coincida con el patrón ".*"
. Eso coincidirá con cualquier cosa que ocurra entre comillas dobles. Entonces grep
devolverá este tipo de valores:
"cadena1"
"cadena2"
La tubería sed
eliminará las comillas dobles de estas cadenas y le dará las cadenas que está buscando. La notación sed 's/"//g'
indica sed
que se debe buscar y reemplazar todas las apariciones de comillas dobles, sustituyéndolas por nada, s/"//g
. El comando s/find/replace/g
es lo que está pasando allí, y el rastreo g
para buscar le dice que lo haga globalmente en toda la cadena que se le da.
Usando solo sed
También puede usar sed
para eliminar las comillas dobles iniciales, conservar lo que hay entre ellas y eliminar las comillas restantes + todo lo que sigue:
$ sed 's/^"\(.*\)".*/\1/' a arch arch2
Otros metodos
$ grep -o '".*"' somefile | tr -d '"' arch arch2
El comando tr
se puede utilizar para eliminar caracteres. En este caso, está eliminando las comillas dobles.
$ grep -oP '(?<=").*(?=")' somefile arch arch2
Con grep
la función PCRE de puede buscar subcadenas que comiencen con comillas dobles o terminen con comillas dobles e informar solo la subcadena.
Con sed
usted puede hacer:
var=$(VBoxManage list vms | sed 's/^"\([^"]*\).*/\1/')
Explicación:
s/.../.../
- emparejar y reemplazar^
- coincidencia al comienzo de la línea\(...\)
- esta es una referencia anterior, podemos referirnos a lo que se compara aquí más adelante con\1
[^"]*
- coincide con cualquier secuencia que no contenga un"
(es decir, hasta el siguiente"
).*
- emparejar el resto de la línea\1
- reemplazar con la referencia posterior
O con awk
:
var=$(VBoxManage list vms | awk -F\" '{ print $2 }')
Code:
awk -F\" '{print $(NF-1)}'
Example: Code:
$ echo 'user_pref("mail.server.server15.realhostname", "mail24b.someplace.net");' | awk -F\" '{print $(NF-1)}' mail24b.someplace.net
Contar los valores de una cadena. En este ejemplo contamos en número de espacios...
awk -v RS="(.)" 'RT ~ / /{conteo++}END{print conteo}' <<< ' uno dos tres '
Un pequeño ejemplo práctico
[javier@localhost ~]$ [javier@localhost ~]$ var="1234567890 123456789" [javier@localhost ~]$ # Lo primero que hacemos es contarlos espacios. [javier@localhost ~]$ [javier@localhost ~]$ awk -v RS="(.)" 'RT ~ / /{conteo++}END{print conteo}' <<< $var
1 [javier@localhost ~]$ [javier@localhost ~]$ # Ahora vamos a medir el número de caracteres [javier@localhost ~]$ # [javier@localhost ~]$ echo ${#var}
20 [javier@localhost ~]$ [javier@localhost ~]$ # Así podemos saber el número de caracteres y si contiene un espacio. [javier@localhost ~]$

-
Ciencia
- Mark Thomson, del CERN: La IA revolucionará la física fundamental
- Por qué incluso los físicos siguen sin entender la teoría cuántica 100 años después
- Se descubrieron tres nuevos materiales superconductores en 2024
- Desigualdad global en las tasas de natalidad: ¿Cómo afectará el baby boom y el baby bust a la economía en 2100?
- El agujero más cercano al centro de la tierra. Voronya
- Microplásticos y seguridad alimentaria. Capitulo III. Mecanismos moleculares e impacto de los microplásticos en la salud humana.
- Microplásticos Y Seguridad Alimentaria. Capítulo II
- La Lima de Cañaveral, Cáceres, oriunda de ésta zona, es exclusiva y está en peligro de extinción.
- Microplásticos Y Seguridad Alimentaria. Capítulo I: Origen Y Generalidades.
- Glaciares de Sal Plantean la Probabilidad de Vida en Mercurio, el planeta más próximo al Sol.
- Hombre de Petralona: Un Enigma Cronológico que Desafía las Teorías Establecidas
- Implante Innovador Recupera Movilidad en Extremidades Paralizadas, Abriendo Camino a Curar la Parálisis.
- La Prótesis Biónica que Cambió la Vida de una Paciente Después de 20 Años de dolores
- África se divide en dos, un nuevo contienente y un nuevo mar, así es el gran valle del Rift
- La NASA Revela una nueva Tecnología que Podrá Ahorrar Miles de Millones en Transmisión de Energía