ฉันมีสคริปต์AppleScriptที่รันการทดสอบความเครียด ส่วนหนึ่งของการทดสอบคือการเปิดบันทึกและปิดไฟล์บางไฟล์ อย่างใดไฟล์ที่ได้รับ "คุณลักษณะขยาย" บางอย่างที่ห้ามไม่ให้บันทึกไฟล์ นั่นทำให้การทดสอบความเครียดล้มเหลว
ฉันจะลบแอตทริบิวต์เพิ่มเติมได้อย่างไร
ฉันมีสคริปต์AppleScriptที่รันการทดสอบความเครียด ส่วนหนึ่งของการทดสอบคือการเปิดบันทึกและปิดไฟล์บางไฟล์ อย่างใดไฟล์ที่ได้รับ "คุณลักษณะขยาย" บางอย่างที่ห้ามไม่ให้บันทึกไฟล์ นั่นทำให้การทดสอบความเครียดล้มเหลว
ฉันจะลบแอตทริบิวต์เพิ่มเติมได้อย่างไร
คำตอบ:
ใช้xattr
คำสั่ง คุณสามารถตรวจสอบคุณสมบัติเพิ่มเติม:
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine
และใช้-d
ตัวเลือกเพื่อลบหนึ่งแอตทริบิวต์เพิ่มเติม:
$ xattr -d com.apple.quarantine s.7z
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
คุณยังสามารถใช้-c
ตัวเลือกเพื่อลบแอตทริบิวต์เพิ่มเติมทั้งหมด:
$ xattr -c s.7z
$ xattr s.7z
xattr -h
จะแสดงให้คุณเลือกบรรทัดคำสั่งและxattr มีหน้าคน
-c
ไม่ทำงานสำหรับฉัน (OS X 10.6.8) -d
ยังไม่มีผลใด ๆ แม้ว่ามันจะไม่บ่น ฉันต้องตั้งชื่อแอตทริบิวต์แบบขยายแต่ละรายการอย่างชัดเจนเช่น: xattr -rd <attrname> <folder/file>
(ลบแบบเรียกซ้ำ) เพื่อหาคุณลักษณะที่มีอยู่ (น่าจะเป็นคุณลักษณะเดียวกันในต้นไม้ไดเรกทอรีทั้งหมด) ใช้xattr <dir/file>
ในคำตอบข้างต้น
xattr -c
งานได้ดีสำหรับฉัน (และปล้นเมทาดาทาทั้งหมดได้สำเร็จ)
ดูคำตอบของ Bavarious
ใช้xattr
กับ-c
แฟล็กเพื่อ "ล้าง" แอ็ตทริบิวต์:
xattr -c yourfile.txt
ในการลบแอตทริบิวต์เพิ่มเติมซ้ำ ๆ ในไฟล์ทั้งหมดในไดเรกทอรีให้รวม-c
แฟล็ก "clear" กับ-r
แฟล็ก recursive:
xattr -rc /path/to/directory
มีเส้นทางยาวที่มีช่องว่างหรืออักขระพิเศษหรือไม่
เปิดTerminal.app
และเริ่มพิมพ์xattr -rc
รวมถึงช่องว่างต่อท้ายจากนั้นลากไฟล์หรือโฟลเดอร์ไปที่Terminal.app
หน้าต่างและมันจะเพิ่มเส้นทางแบบเต็มโดยอัตโนมัติด้วยการหลบหนีที่เหมาะสม
-c
ล้มเหลวใน OS X option -c not recognized
10.5: เราใช้ตัวทดสอบสำหรับ PowerPC ของ Apple ดูเหมือนว่ารุ่น downlevel ของ OS X สนับสนุน-l
, -p
, และ-w
-d
. textClipping
ที่อธิบายไว้ในapple.stackexchange.com/questions/301871/ …
ลองใช้:
xattr -rd com.apple.quarantine directoryname
วิธีนี้จะช่วยให้ลบแอตทริบิวต์ที่น่ารำคาญซ้ำ ๆ ได้ทุกที่
อีกวิธีเรียกซ้ำ:
# change directory to target folder:
cd /Volumes/path/to/folder
# find all things of type "f" (file),
# then pipe "|" each result as an argument (xargs -0)
# to the "xattr -c" command:
find . -type f -print0 | xargs -0 xattr -c
# Sometimes you may have to use a star * instead of the dot.
# The dot just means "here" (whereever your cd'd to
find * -type f -print0 | xargs -0 xattr -c
-c
ล้มเหลวใน OS X option -c not recognized
10.5: เราใช้ตัวทดสอบสำหรับ PowerPC ของ Apple ดูเหมือนว่ารุ่น downlevel ของ OS X สนับสนุน-l
, -p
, และ-w
-d
xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.lastuseddate#PS
# com.apple.metadata:kMDItemIsScreenCapture
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
xattr -d com.apple.lastuseddate#PS ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
xattr -d kMDItemIsScreenCapture ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
xattr -l ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
xattr -c ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
xattr -r ~/Desktop
xattr -rd com.apple.FinderInfo ~/Desktop
xattr -rc ~/Desktop
คำเตือน: เมื่อคุณลบสิ่งเหล่านี้คุณจะไม่ได้รับกลับมา!
ข้อผิดพลาดที่ผิดพลาด: ไม่มีการเลิกทำ
ฉันต้องการแก้ไขข้อผิดพลาดของผู้คนที่ได้รับ
เนื่องจากข้อผิดพลาดทำให้ฉันถั่วเกินไป ...
บน mac ถ้าคุณติดตั้งxattr
ในหลามแล้วสภาพแวดล้อมของคุณอาจมีปัญหา
มีสองเส้นทางที่แตกต่างกันสำหรับ mac ของฉัน
xattr
type -a xattr
# xattr is /usr/local/bin/xattr # PYTHON Installed Version
# xattr is /usr/bin/xattr # Mac OSX Installed Version
ดังนั้นหนึ่งในตัวอย่างที่-c
จะไม่ทำงานใน xargs เป็นเพราะในทุบตีคุณเริ่มต้นรุ่นที่ไม่ใช่หลาม
-c
/usr/bin/xattr -c
-c
/usr/local/bin/xattr -c
# option -c not recognized
เชลล์ / เทอร์มินัลของฉันมีค่าเริ่มต้นเป็น / usr / local / bin / xattr เพราะฉัน $PATH
/usr/local/bin:
มาก่อน/usr/bin:
ซึ่งฉันเชื่อว่าเป็นค่าเริ่มต้น
ฉันสามารถพิสูจน์ได้เพราะถ้าคุณพยายามถอนการติดตั้งงูหลาม xattr
คุณจะเห็น:
pip3 uninstall xattr
Uninstalling xattr-0.9.6:
Would remove:
/usr/local/bin/xattr
/usr/local/lib/python3.7/site-packages/xattr-0.9.6.dist-info/*
/usr/local/lib/python3.7/site-packages/xattr/*
Proceed (y/n)?
เพื่อแก้ไข option -c not recognized
ข้อผิดพลาด
xattr
คุณอาจมี:pip3 uninstall xattr
Terminal
หน้าต่าง & ออกTerminal
Terminal
หน้าต่างใหม่อีกครั้งxattr
คำสั่งเรียกใช้อีกครั้งและควรทำงานหรือ
ถ้าคุณต้องการเก็บ Python ไว้ให้
xattr
ใช้
/usr/bin/xattr
สำหรับShell
คำสั่งใด ๆTerminal
เวอร์ชั่นของ Python xattr
ไม่สามารถจัดการรูปภาพได้เลย:
Good-Mac:~ JayRizzo$ xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# Traceback (most recent call last):
# File "/usr/local/bin/xattr", line 8, in <module>
# sys.exit(main())
# File "/usr/local/lib/python3.7/site-packages/xattr/tool.py", line 196, in main
# attr_value = attr_value.decode('utf-8')
# UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 2: invalid start byte
Good-Mac:~ JayRizzo$ /usr/bin/xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.lastuseddate#PS
# com.apple.metadata:kMDItemIsScreenCapture
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
หน้าคนสำหรับ Python xattr รุ่น 0.6.4
หมายเหตุ: ฉันไม่พบหน้าวิธีใช้ python สำหรับ VERSION 0.9.6 ปัจจุบัน
ขอบคุณที่อ่าน!