En este blog te dejo un arsenal de técnicas para convertirte en un maestro de las búsquedas. Desde encontrar ese video perdido de YouTube hasta descargar música de Spotify, te muestro cómo aprovechar al máximo Google, BASH, CMD, herramientas como FFmpeg e ImageMagick, y expresiones regulares para hallar lo que necesitas.

Convertite en un ninja del teclado 🥷


Videos, películas y series:

intext:"Search Term" intitle:"index.of" +(wmv|mpg|avi|mp4|mkv|mov) -inurl:(jsp|pl|php|html|aspx|htm|cf|shtml)

Imágenes:

intext:"Search Term" intitle:"index.of./" (bmp|gif|jpg|png|psd|tif|tiff) -inurl:(jsp|pl|php|html|aspx|htm|cf|shtml)

Música:

intext:"Search Term" intitle:"index.of./" (ac3|flac|m4a|mp3|ogg|wav|wma) -inurl:(jsp|pl|php|html|aspx|htm|cf|shtml)

Libros:

intitle:"Search Term" (pdf|epub|mob) "name or title" -inurl:(jsp|pl|php|html|aspx|htm|cf|shtml)

Google Drive

Compartido en general:

site:drive.google.com

Carpetas compartidas:

site:drive.google.com +"drive/folders" + term

Hojas de cálculo compartidas:

site:drive.google.com +"spreadsheets" + term

Documentos compartidos:

site:drive.google.com +"documents" + term

BASH

Buscar archivos y tipos

Mostrar todos los tipos de archivos en el directorio:

find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
find . -type f | awk -F. '!a[$NF]++{print $NF}'

[!NOTA]
-F fs –field-separator fs: Usá fs como separador de campos. awk $NF imprime solo la última columna en un registro. Si el archivo tiene solo una fila, tu variable contendrá lo que esté en la última columna (espacio/tabulador como delimitador).

Contar archivos por directorio:

find . -type 'f' -printf '%h\n' | sort | uniq -c

[!NOTA]
El comando find imprime el nombre del directorio de todos los archivos. Lo pasamos por sort, y luego usamos la opción -c de uniq para contar los archivos por directorio.

Eliminar directorios con solo 1 archivo:

find . -type 'f' -printf '%h\n' | sort | uniq -c | awk '{ if ($1 == "1") printf "%s%c",$2,0 }' | xargs -0 -I {} rm -rf {}

Evitar mensajes de “Permiso denegado”:

find ./ -iname "term" 2>&1 | grep -v "Permission denied"

Web Scraping

Web scraping básico:

#!/bin/bash
truncate -s 0 plist
counter=1
while [ $counter -le 11 ]
do
lynx -dump https://howtoarsenio.blogspot.com/2021/$counter/* >> plist
((counter++))
done
cat plist | grep -Eo | grep -Eo '(http|https)://[^<"]+' | sort -u

Comandos para Búsqueda y Organización

Buscar en archivos y ordenar resultados:

Buscar un término en un archivo y ordenar resultados únicos:

grep "texto a buscar" archivofuente.txt | grep -v -ie "comments" | sort -u > archivo.txt

Buscar URLs en un archivo y ordenar resultados únicos:

cat messages*.html | grep -Eo '(http|https)://[^<"]+' | sort -u

Buscar un término en múltiples archivos y saber en qué archivo está:

cat *.html | grep -H -R 'Goku'

Buscar URLs únicas y ordenar:

lynx -dump -listonly https://t.me/s/howtoarsenio | grep -o "http:.*" | grep -E -v "http://t.me|http://www.t.me" | sort | uniq > file.txt

Listados y Descargas

Evitar un tipo de archivo:

ls -1 | sed -e 's/\.png$//'

Descargar contenido con wget:

wget -c -nc -r --no-parent -R "index.html*"

-c, –continue: Continuar descargando un archivo parcialmente descargado.
-nc, –no-clobber: Evitar sobrescribir archivos locales.
-r, –recursive: Descargar recursivamente.
-R, –reject=LIST: Lista de extensiones rechazadas.


Renombrar y Eliminar Archivos

Renombrar múltiples archivos:

for i in chr*.fasta; do mv "$i" "${i/%.fasta/.fa}"; done

Eliminar archivos de tamaño 0:

find ./ -type f -size 0

Eliminar carpetas vacías:

find ./ -type d -empty -delete

FFmpeg

Subir videos de una cámara científica sin compresión a YouTube:

ffmpeg -i in.avi -c:v libx264 -preset slow -crf 18 -c:a aac -b:a 192k -pix_fmt yuv420p -movflags +faststart out.mp4

Si el video no tiene audio:

ffmpeg -i in.avi -c:v libx264 -preset slow -crf 18 -pix_fmt yuv420p -movflags +faststart out.mp4

ImageMagick

Convertir a .ico:

convert -background transparent "favicon.png" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 "folder.ico"

Convertir PDF a JPG (alta calidad):

convert -density 300 -quality 100 in.pdf out.jpg

Cortar una imagen a la mitad:

convert -crop 50%x100% +repage +adjoin img.tif img.tif

Cortar a la mitad todas las imágenes de una carpeta con cierto tamaño:

find . -type f -size +80M | convert -crop 50%x100% +repage +adjoin "${/%.tif/_.tif}"; done

PowerShell

Buscar archivos grandes (más de 60MB):

Get-ChildItem | where-object {$_.length -gt 60000000} | Sort-Object length | ft fullname, length -auto

Descarga música de Spotify con spotDL

Usando WSL:

C:/Windows/System32/bash.exe -c "spotdl --output '/mnt/c/temp' --lyrics-provider genius 'https://open.spotify.com/playlist/7j5tAMUPNuhRFDcP1iClui'"

Usando BASH:

spotdl "https://open.spotify.com/playlist/7j5tAMUPNuhRFDcP1iClui" --output "C:\temp" --lyrics-provider genius

Expresiones Regulares (RegEx)

Limpiar etiquetas HTML y su contenido:

<[^>]*>|\n

Detectar URLs:

(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?

CMD

Listar todos los archivos en un directorio recursivamente con la ruta completa:

dir /b /s /a:-D

Bonus: Videos de YouTube como playlist

Pegá esto al final de la URL:

&feature=mfu_in_order&list=UL

Por ejemplo:

https://www.youtube.com/watch?v=D2qO5nMOM5U&feature=mfu_in_order&list=UL