Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

Ayuda con un script bash buscando con grep en contenido de archivo

BocaDePez
BocaDePez

Necesito hacer un script en bash en donde utilice un archivo generado en una expresión regular usando grep para su búsqueda en otro archivo es decir, primero genere este archivo:

tail -c 10 > archivo1.fasta

y luego quiero utilizarlo en la siguiente expresión regular:

grep -e '_____.TGRGH*' buscareneste.fasta>guardaraqui.fasta

El espacio con los guiones bajo es en donde se colocaría la información del archivo1.fasta

De verdad necesito ayuda :( o alguna alternativa :'(

mceds
1

Tu primera línea no tiene sentido; probablemente la hayas escrito mal, queriendo decir:

tail -c 10 archivo1.fasta

¿Conoces los usos del símbolo de dólar ($) en la shell? Uno muy útil es el dólar seguido de paréntesis $(). Te lo explico con un ejemplo: ¿cómo hacer para mostrar en pantalla un mensaje con el día de la semana?

echo "Hoy es $(date +%A)"

El comando date +%A devuelve el día de la semana. Si lo encierro entre paréntesis y le antepongo el dólar, la shell ejecutará ese comando interno (date) en primer lugar, sustituyéndolo todo (dólar, paréntesis y comando) por la salida de ese comando. Aquí en España es sábado, así que sería equivalente a:

echo "Hoy es sábado"

Una vez hecha la sustitución, la shell ejecutaría el comando "principal" (el echo) y mostraría en pantalla el texto Hoy es sábado.

¿Cómo hacerlo con tu problema? Fácil: encierra tu primera línea entre paréntesis, anteponle el dólar y añádela a la segunda línea, justo donde tienes los guiones bajos.

Eso sí, una advertencia con respecto a las comillas simples y comillas dobles (has de aprender bien su diferencia). Cuando la shell se encuentra con comillas simples, no hace ninguna sustitución: el contenido dentro de las comillas simples se interpreta tal cual, incluidos los símbolos de dólar. Sin embargo, con las comillas dobles sí que se hacen sustituciones al encontrar el símbolo de dólar.

Así que, para que la sustitución funcione, deberás usar comillas dobles en tu segunda línea. En general, evita usar comillas simples, salvo que de verdad necesites que sean simples.

🗨️ 2
BocaDePez
BocaDePez
-1

Estudia

🗨️ 1
mceds

Sí, al menos un poco de educación sí que debería haber estudiado. Me importa un bledo que no suelte un mísero "gracias", pero al menos una indicación de que ha leído el tocho que le he escrito y le ha servido (o no) de algo.