ストレステストを実行するAppleScriptスクリプトがあります。テストの一部は、特定のファイルを開いたり、保存したり、閉じたりすることです。どういうわけか、ファイルは、ファイルの保存を禁止する「拡張属性」を取得しています。これにより、ストレステストが失敗します。
拡張属性を削除するにはどうすればよいですか?
ストレステストを実行するAppleScriptスクリプトがあります。テストの一部は、特定のファイルを開いたり、保存したり、閉じたりすることです。どういうわけか、ファイルは、ファイルの保存を禁止する「拡張属性」を取得しています。これにより、ストレステストが失敗します。
拡張属性を削除するにはどうすればよいですか?
回答:
xattr
コマンドを使用します。拡張属性を検査できます。
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine
-d
オプションを使用して、1つの拡張属性を削除します。
$ 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にはmanページがあります。
-c
が機能しません(OS X 10.6.8)。-d
文句は言わなかったが効果もなかった。私は次のように各拡張属性に明示的に名前を付ける必要がありました:(xattr -rd <attrname> <folder/file>
再帰的に削除します)。存在する属性(ディレクトリツリー全体で同じ属性である可能性が高い)を見つけるにxattr <dir/file>
は、上記の回答のように使用します。
xattr -c
は問題なく動作します(すべてのメタデータが正常に削除されます)。
バイエルンの答えを見てください。
フラグxattr
と一緒に使用して-c
、属性を「クリア」します。
xattr -c yourfile.txt
ディレクトリ内のすべてのファイルの拡張属性を再帰的に削除するには、-c
「クリア」フラグを-r
再帰フラグと組み合わせます。
xattr -rc /path/to/directory
スペースまたは特殊文字を含む長いパスがありますか?
を開いTerminal.app
て入力を開始しxattr -rc
、末尾にスペースを含めてから、ファイルまたはフォルダーをTerminal.app
ウィンドウにドラッグすると、適切なエスケープを使用してフルパスが自動的に追加されます。
-c
OS X 10.5で失敗します:option -c not recognized
。AppleのPowerPCでのテストに1つ使用します。これは、OS Xのサポートの下位レベルのバージョンのように見え-l
、 -p
、 -w
と -d
。
. textClipping
は、apple.stackexchange.com
別の再帰的アプローチ:
# 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 10.5で失敗します:option -c not recognized
。AppleのPowerPCでのテストに1つ使用します。これは、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
でPythonでインストールした場合、環境に問題がある可能性があります。
私のMacには2つの異なるパスがあります
xattr
type -a xattr
# xattr is /usr/local/bin/xattr # PYTHON Installed Version
# xattr is /usr/bin/xattr # Mac OSX Installed Version
したがって、-c
xargsで機能しない例の1つは、bashではデフォルトで非Pythonバージョンが使用されるためです。
-c
/usr/bin/xattr -c
-c
/usr/local/bin/xattr -c
# option -c not recognized
私のシェル/ターミナルのデフォルト値には/ usr / local /ビン/ xattrの私があるため$PATH
/usr/local/bin:
前にある/usr/bin:
どの私はデフォルトであると信じています。
これを証明できます。Pythonをアンインストールしようとすると、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
あなたが持っているかもしれないPython をアンインストールしてください: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 VERSION 0.6.4のマンページ
注:現在のバージョン0.9.6のPythonヘルプページが見つかりませんでした
読んでくれてありがとう!