Reemplace todas las líneas en VIM con lo que sea después de la última barra en una línea -- mmand-line campo con text-processing camp askubuntu Relacionados El problema

Replace all lines in vim with whatever is after the last slash on a line


0
vote

problema

Español

Tengo datos de muestra como:

  aaa/bbb/ccc/ddd/eee/fff aaa/bbb/ccc/ddd/eee/fff/gg aaa/bbb/ccc/ddd/eee/fff/gg/hhhhh   

¿Cómo puedo analizar solo:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN8   

con vim o bash?

gracias

Original en ingles

I have sample data like:

aaa/bbb/ccc/ddd/eee/fff aaa/bbb/ccc/ddd/eee/fff/gg aaa/bbb/ccc/ddd/eee/fff/gg/hhhhh 

How can I parse out only:

fff gg hhhhh 

with vim or bash?

Thanks

     

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Puede usar ABCDEFGHIJKLMNABCDEFGHIJKLMN5 . Quieres el último campo, pero tienes un delimitador diferente.

-f: - Separador de campo.

AWK NF le brinda el número total de campos en un registro, por lo que cuando digo NF, mantiene el último número de campo o su índice. por lo que {imprimir $ nf} es similar a {imprimir $ 1} o {imprimir $ 2}.

  ➜  awk -F'/' '{print $NF}' test.txt fff gg hhhhh   
 

You can use awk. You want last field but you have different delimiter.

-F : --field-separator.

Awk NF gives you the total number of fields in a record So when I say NF, it hold the last field number or its index. so {print $NF} is similar to { print $1} or {print $2}.

xe2x9ex9c  awk -F'/' '{print $NF}' test.txt fff gg hhhhh 
 
 
0
 
vote

Con VIM puede usar lo siguiente para eliminar todo antes de la última barra ( / ):

  ABCDEFGHIJKLMNABCDEFGHIJKLMN8   

Podrías hacer algo similar con sed :

  <Directory /var/www/example.com/>     Options Indexes FollowSymLinks MultiViews     AllowOverride All     Order allow,deny     deny from all     allow from ***.***.***.***  ----> your ip here     Require all granted </Directory> 0  
 

With Vim you can use the following to remove everything before the last slash (/):

:%s/.*\/// 

You could do something similar with sed:

sed 's/.*\///' file 
 
 
0
 
vote

Bash es probablemente no la primera opción para esto:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN11  
 

Bash is probably not the first choice for this:

mapfile -t < data; printf %s\\n "${MAPFILE[@]##*/}" 
 
 

Relacionados problema

22  ¿Cómo reemplazar los espacios con las nuevas líneas / ingresar en un archivo de texto?  ( How to replace spaces with newlines enter in a text file ) 
Tengo un archivo de texto simple llamado "Ejemplo". Lectura con el comando terminal: ABCDEFGHIJKLMNABCDEFGHIJKLMN1 Salida: abc cdef ghi jk lmnopq rst...

1  Reemplace solo ciertos números usando SED [CERRADO]  ( Replace only certain numbers using sed ) 
cerrado . Esta pregunta necesita detalles o claridad . Actualmente no está aceptando respuestas. ...

14  ¿Hay alguna manera, idealmente usando la línea de comandos, para convertir múltiples archivos .CSV a una hoja de cálculo de múltiples hojas?  ( Is there a way ideally using the command line to convert multiple csv files t ) 
¿Hay una manera, idealmente usando la línea de comandos, para convertir varios archivos de ICSV a una hoja de cálculo de MULTI-hojas? Si no hay una solución...

0  ¿Cómo copie los contenidos de un archivo y lo concatené en un nuevo archivo?  ( How do i copy contents of a file and concatenate it into a new file ) 
Tengo que hacer nuevos archivos que contengan los contenidos de archivos originales dos veces y luego concatenarlo línea por línea. Por ejemplo: ABCDEFGHIJ...

2  Recortar el comienzo de un archivo de texto  ( Trim beginning of a text file ) 
Tengo un archivo de texto con espacios inesperados al principio y desea recortar el principio y guardarlo. ¿Cómo puedo hacerlo? He intentado un ejemplo muy ...

5  Análisis de un archivo usando herramientas de procesamiento de texto  ( Parsing a file using text processing tools ) 
se ve un archivo: 1140.271257 0.002288454025 0.002763420728 0.004142512599 0 0 0 0 0 0 0 0 0 0 0 1479.704769 0.00146621631 0.003190634646 0.003672029231 0...

4  Retire las cotizaciones alrededor de los enteros en un archivo CSV  ( Remove quotes around integers in a csv file ) 
en un archivo CSV grande (& gt; 1 gb) Tengo algo como "34432", "name", "0", "very long description" pero en lugar de eso me gustaría tener 34432, "n...

1  El uso de SED para agregar caracteres al final de una línea agrega una nueva línea  ( Using sed to add characters at the end of a line adds a new line ) 
Estoy haciendo un script para convertir algunas listas de cubierta mágicas de un formato a otro. Necesito insertar el código de configuración para cada tarjet...

2  Suma Columna 2 de archivo .csv si la columna 1 es la misma  ( Sum column 2 of csv file if column 1 is the same ) 
Tengo un archivo CSV donde la columna 1 es el nombre de un gen y la columna 2 es un valor asociado con ese gen. Sin embargo, algunos genes tienen múltiples va...

3  ¿Cómo se puede usar AWK para listar contenedores de Docker?  ( How can awk be used to list docker containers ) 
Estoy buscando usar herramientas a lo largo de las líneas de: grep sed awk para trabajar con la ventana accionaria. Contenedores de listado: do...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos