
SO: Kubuntu 22.04.4 LTS x86_64
desintoxicación 1.4.5
Para mostrar arriba:
neofetch --stdout |grep 'OS:'
detox -V
Aquí hay un nombre de archivo tóxico, comienza con s1:
s1 Ä Ö Ü - ä ö ü Science & < > " 1 \ 2 ⁄ 3 | ? * (&&9&&&) ::::z.pdf
script1
Fue copiado y pegado en la Terminal.
script1
la salida funciona en el nombre de archivo tóxico anterior "$FILE1"
:
filename_before_detox='s1 Ä Ö Ü - ä ö ü Science & < > " 1 \ 2 ⁄ 3 | ? * (&&9&&&) ::::z.pdf'
filename_after__detox= s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
script1
funciona, dando como resultado un nombre de archivo desintoxicado. Sin espacios ni caracteres especiales: consulte el nombre del archivo convertido y renombrado deseado a continuación:
s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
script1
:
clear
DIR1=$HOME/Downloads # DIR1=/home/x/Downloads
cd $DIR1
ls -alF s1* # List all filenames starting with s1
FILE1='s1 Ä Ö Ü - ä ö ü Science & < > " 1 \ 2 ⁄ 3 | ? * (&&9&&&) ::::z.pdf'
detox -s iso8859_1 "$FILE1"
# detox -s iso8859_1 -v "$FILE1" # v=verbose
ls -alF s1* # List all filenames starting with s1
script2
no está trabajando:
error = No existe tal archivo o directorio
script2
detecta automáticamente un nuevo archivo DIR1 = ~/Downloads
y, script2
al estar en acceso, DIR1
eventualmente ejecutará
clamscan en busca de virus durante la prueba y FILE1
se pega manualmente DIR1
para simular una descarga.
Varios resultados de citas:
detox -s iso8859_1 "$FILE1" # No such file or directory
detox -s iso8859_1 '"$FILE1"' # No such file or directory
detox -s iso8859_1 ""$FILE1"" # posting errors then ok result
script2
clear
DIR1=$HOME/Downloads # DIR1=/home/x/Downloads
inotifywait -q -m -e close_write,moved_to --format '%w%f' "$DIR1" |while read FILE1
do
ls -alF s1* # List all filenames starting with s1
detox -s iso8859_1 ""$FILE1""
ls -alF s1* # List all filenames starting with s1
done
script2
tiene errores entonces buenos resultados:
s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
Pero hay muchos errores:
rw-rw-r-- 1 x x 1153263 Mar 13 11:36 's1 Ä Ö Ü - ä ö ü Science & < > " 1 \ 2 ⁄ 3 | ? * (&&9&&&) ::::z.pdf'
/home/x/Downloads/s1: No such file or directory
Ä: No such file or directory
Ö: No such file or directory
Ü: No such file or directory
-: No such file or directory
ä: No such file or directory
ö: No such file or directory
ü: No such file or directory
Science: No such file or directory
&: No such file or directory
<: No such file or directory
>: No such file or directory
": No such file or directory
2: No such file or directory
⁄: No such file or directory
3: No such file or directory
|: No such file or directory
(&&9&&&): No such file or directory
::::z.pdf: No such file or directory
-rw-rw-r-- 1 x x 1153263 Mar 13 11:36 s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
-rw-rw-r-- 1 x x 1153263 Mar 13 11:36 s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
-rw-rw-r-- 1 x x 1153263 Mar 13 11:36 s1_A_A-Aoe-A_A_pp_A_Science_and_1_2_a_3-and_and_9_and_and_and-z.pdf
¿Que detox
significa?
detox
= limpiar nombres de archivos- La
detox
utilidad cambia el nombre de los archivos para que sea
más fácil trabajar con ellos. - Elimina espacios y otras molestias similares.
- También traducirá o limpiará caracteres Latin-1 (ISO 8859-1) codificados en ASCII de 8 bits, caracteres Unicode codificados en UTF-8 y caracteres de escape CGI.
inotifywait
= esperar cambios en los archivos usando inotify
inotifywait
espera eficientemente cambios en los archivos usandoinotify(7)
la interfaz de Linux.- Es adecuado para esperar cambios en archivos desde scripts de shell.
- Puede salir una vez que ocurre un evento o ejecutar y generar eventos continuamente a medida que ocurren.
¿Cómo desintoxicar nombres de archivos en un script bash sin publicar errores?