cómo usar comandos básicos de Linux para contar el número de puntos en cada línea y luego insertar el valor en cada línea en bash
Proceso un archivo de texto con muchos dominios como
none
abcd.efgh.ijkl.mnop
Espero agregar un 3 en la misma línea sin importar si está al principio o al final.
Actualmente utilizo
sed 's/[^.]//g' elarchivotexto | awk '{ print length }' > elnumero
luego utilizo librecalc para combinarlos.
davy.ai
Solución para agregar un 3 a un archivo de texto con múltiples dominios
Para agregar un 3 a la misma línea en un archivo de texto con múltiples dominios, puedes usar el comando sed con la bandera s (sustituir). Aquí tienes un ejemplo:
Vamos a desglosar este comando:
sed
es el comando para procesar el archivo de texto.-i
es una bandera para editar el archivo en su lugar, lo que significa que los cambios se guardarán en el archivo original.'s/\(\b[[:alnum:]]\)/3\1/g'
es el comando de sustitución que busca límites de palabra seguidos de caracteres alfanuméricos, y añade un 3 antes de ellos. La banderag
al final significa que la sustitución debe ser global (es decir, todas las ocurrencias en la misma línea deben ser reemplazadas).Al ejecutar este comando, deberías poder agregar un 3 al principio de cada dominio en el archivo de texto.
Nota: Esta solución asume que cada dominio está en una línea separada en el archivo de texto. Si los dominios están separados por espacios o comas, o si están en la misma línea pero separados por otros caracteres, es posible que necesites modificar el comando para adaptarlo a tu caso de uso específico.