Verteilt auf mehrere Dateisysteme Ich habe zahlreiche .webarchive-Dateien, die von OmniWeb gespeichert wurden. Also zum Beispiel:
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;
Diese Dateien werden als von einem nicht identifizierten Entwickler behandelt. Ich kann jedes mit einem Control-Klick öffnen, aber es ist mühsam.
Also hätte ich gerne einen Befehl, wahrscheinlich mit find(1) , um alle diese erweiterten Attribute zu entfernen .
find . -iname '*.webarchive' -print0 | xargs -0 xattr -d com.apple.quarantine
find . -iname '*.webarchive' -exec xattr -d '{}' \;
).Erläuterung des Wirkungsgradunterschieds:
Wann immer die Syntax dies zulässt, wie in diesem Fall, baut xargs eine oder mehrere Befehlszeilen wie zxattr -d com.apple.quarantine /path/to/file1.webarchive /path/to/fileN.webarchive
während die meiner Meinung nach leichter zu merkende find
-only-Version den Befehl jedes Mal wiederholt:xattr -d com.apple.quarantine /path/to/file1.webarchive ; xattr -d com.apple.quarantine /path/to/fileN.webarchive
Hier ist eine automatisiertere Möglichkeit, dies zu erreichen:
Automator öffnen - "Service" auswählen
füge dies ein
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
Stellen Sie sicher, dass „Dateien oder Ordner“ für „Dienst empfängt ausgewählt“ ausgewählt ist. Stellen Sie sicher, dass "Finder" für "in" ausgewählt ist
Klicken Sie dann auf Speichern und nennen Sie es Unquarantine, gehen Sie zu dem Ordner oder der Datei, die Sie aus der Quarantäne entfernen möchten, klicken Sie mit der rechten Maustaste und wählen Sie Unquarantine
Die Version von xattr, die ich auf meinem macOS 11.6 habe, behauptet, einen Schalter -r zu haben
-r: rekursiv handeln
Sie sollten also in der Lage sein, zu verwenden
xattr -d com.apple.quarantine -r file.webarchive
xattr -d com.apple.quarantine -r my_dir/
Slipp D. Thompson
find
wird die gleiche effiziente Dateipfad-Zusammenstellung durchführen, wenn Sie sie mit\+
anstelle von\;
.