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 🥷
Google Search
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