awk
Partimos de un fichero de texto cualquiera, fichero.txt.
- Realiza un script que te muestre el texto comprendido desde la línea que contiene la primera palabra hasta la línea que contiene la segunda palabra. Las dos palabras las pasas como argumentos. Utiliza awk. awk "/$1/,/$2/" fichero.txt
- Realiza un script que te muestre el texto contenido desde las dos palabras que pides por teclado. sed -n "/palabra1/,/palabra2/p" fichero.txt
- Sácame las líneas que tengan más de 18 caracteres, sustituyéndolas por "..." awk '{if(length($0) > 12) print substr($0,1,12)”…”} fichero.txt
- Muéstrame el fichero pero con el segundo campo de todas las filas sustituido por "segundo". awk '$2="segundo" {print $0}' fichero.txt
- Sácame los campos 1 y 3 del fichero.txt ordenados por el 1º campo.
- Realiza un script que te muestre las lineas del fichero.txt con más de 17 caracteres que contenga en su 3º campo la cadena "sa". awk '$2 ~ /sa/ {if(length($0) > 17) print}' fichero.txt
- Muéstrame el fichero totalmente al revés, desde la última palabra de la última línea.
var=(`cat fichero.txt`) echo ${#var[@]} for ((i=${#var[*]};i>=0;i--)) do echo ${var[i]} done
awk ‘BEGIN {resultado=””}[línea =””;for(i=NF;i>0;i--)línea=línea” “Si; resultado=línea”\n”resultado}END{PRINT resultado}’ fichero.txt
- tac fichero.txt| awk ‘{for (i=NF;i>0;i--) print $i}’
awk ‘{print $1, $3}’fichero.txt| sort -k1 awk ‘{print $1, $3 | sort -r }’fichero.txt
No hay comentarios:
Publicar un comentario