如何将Apple的.textClipping文件转换为纯文本?


3

如果您在应用中选择了某些文字(例如Chrome或允许拖动文字的任何其他应用),并将所选内容拖动到Finder面板,则会在面板中创建一个不可见的文件 .textClipping 延期。根据您的设置,Finder中可能会显示扩展名,也可能不会显示。

最初我假设文件是​​纯文本,并尝试重命名它以添加一个 .txt 扩展,但双击仍然使用Finder打开它。

然后我检查了文件类型:

file 'some text.textClipping'
>> some text.textClipping: Apple binary property list

cat - 它显示了一个标题 bplist00?XUTI-Data? 其次是可读文本。

我试过了:

mv 'some text.textClipping' 'some text.txt'

但即使在此之后,它仍然会与Finder打开,而不是相关的应用程序 .txt 文件。

另一个“古怪”是将.textClipping文件拖入终端 - 我有时将其用作插入完整路径的方式 - 具有插入的意外效果 内容 文件而不是其路径。

我希望我能用 .textClipping 文件可以快速从网页和其他应用程序创建片段,但出于显而易见的原因,我希望避免以某些Apple专有二进制格式存储片段。

有没有办法将片段转换为可移植格式,如纯文本?为什么这类文件的行为与其他文件不同?是否有一些扩展文件属性?那么如何删除它以使文件不再“特殊”?

Answers:


3

关于Apple二元资产列表的未来谷歌搜索引导我尝试 plutil -convert xml1 note.textClipping 它生成一个XML文件,其片段的可读文本为UTF-8文本,然后是UTF-16,mac-plain和HTML中相同文本的base64编码版本。

即使在将二进制文件转换为XML格式之后,无论设置了什么扩展名,Finder仍然在其自己的查看器中打开文件(例如, .plist 要么 .xml )。

运行 /bin/ls -al 在文件夹中显示一个 @ 文件名旁边,表示文件具有扩展属性,因此看起来它们导致Finder中的“特殊”行为。

这个答案 引导我去尝试

xattr -l note.plist 

这表明一些笔记的内容存储为扩展属性键。

最后,清除所有扩展属性会将文件转换为“普通”文件,因此现在它将打开相关的应用程序:

xattr -c note.plist 

上面的命令用于单个文件,以剥离当前文件夹运行中所有文件的扩展属性:

xattr -rc .

扩展属性在某些情况下可能很有用 - 例如,如果您下载了带有safari或chrome的文件,原始URL将存储为扩展属性,您可以使用 xattr -l myfile.zip 或右键单击Finder中的文件并选择 获取信息 >该网址将显示在更多信息>下来自哪里。 (当你想跟踪文件的来源时,不使用wget的另一个原因。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.