Repartidos en varios sistemas de archivos, tengo numerosos archivos .webarchive que fueron guardados por OmniWeb. Así por ejemplo:
sh-3.2$ ls -@ 2012-03-19.webarchive
2012-03-19.webarchive
sh-3.2$ ls -@l 2012-03-19.webarchive
-rw-r--r--@ 1 gjp22 staff 3722852 19 Mar 2012 2012-03-19.webarchive
com.apple.quarantine 26
sh-3.2$ xattr -l 2012-03-19.webarchive
com.apple.quarantine: 0000;4f66fcc8;OmniWeb.app;
Esos archivos se tratan como si fueran de un desarrollador no identificado. Puedo abrir cada uno con Control-clic, pero es tedioso.
Así que me gustaría un comando, probablemente relacionado con find(1) , para eliminar todos esos atributos extendidos .
find . -iname '*.webarchive' -print0 | xargs -0 xattr -d com.apple.quarantine
find . -iname '*.webarchive' -exec xattr -d '{}' \;
).Explicación de la diferencia de eficiencia:
Siempre que la sintaxis lo permita, como en este caso, xargs ensambla una o más líneas de comando, comoxattr -d com.apple.quarantine /path/to/file1.webarchive /path/to/fileN.webarchive
mientras que en mi opinión, la versión más fácil de recordar find
repite el comando cada vez:xattr -d com.apple.quarantine /path/to/file1.webarchive ; xattr -d com.apple.quarantine /path/to/fileN.webarchive
Aquí hay una forma más automatizada de lograr esto:
abrir automatizador - seleccione "servicio"
pega esto
on run {input, parameters}
tell application "Terminal"
activate
set filesString to ""
repeat with file_ in input
set filesString to filesString & " " & quoted form of (POSIX path of file_)
end repeat
do script "xattr -r -d com.apple.quarantine" & filesString
end tell
return input
end run
Asegúrese de que "archivos o carpetas" esté seleccionado para "Servicio recibido seleccionado". Asegúrate de que "Finder" esté seleccionado para "en"
luego presione guardar y asígnele el nombre no cuarentena, vaya a la carpeta o archivo que desea eliminar de la cuarentena y haga clic con el botón derecho y seleccione no cuarentena
La versión de xattr que tengo en mi macOS 11.6 afirma tener un modificador -r
-r: actuar recursivamente
Entonces deberías poder usar
xattr -d com.apple.quarantine -r file.webarchive
xattr -d com.apple.quarantine -r my_dir/
Slipp D. Thompson
find
hará el mismo ensamblaje de ruta de archivo eficiente si lo termina con\+
en lugar de\;
.