OSX TextEdit 使用第一行保存

OSX TextEdit 使用第一行保存

是否可以让 TextEdit 保存一个未命名的打开文件,其中包含该文档文本的第一行(或第一个单词)?

例如:我在 TextEdit 中创建一个新的文本文档;写下第一行,因为我希望文件名也是这样,比如说:“Test”;我关闭文档并将文件保存为“Test.xxx”

谢谢

答案1

使用 shell 脚本或 Automator 工作流程的解决方案

打开 Automator 并创建工作流程。当系统要求选择工作流程类型时,请选择一种符合您偏好的工作流程。

拖拽模板实用程序 » 运行 Shell 脚本进入空的工作流;这将打开一个大文本字段。将以下代码粘贴到文本字段中:

#!/bin/bash
EXTENSION=xxx
SCRIPT_NAME='Create a file whose first line determines the file name'

TMP_FILE="$(mktemp -dt "create_file_whose_first_line_determines_file_name.XXXXXXXXXX")/New file whose first line determines the file name.txt"
echo 'untitled.txt' > "${TMP_FILE}" && open -neW "${TMP_FILE}"

TARGET_FILE="$(head -n 1 "${TMP_FILE}").${EXTENSION}"
if tail -n +2 "${TMP_FILE}" >> "${TARGET_FILE}"
then
  osascript -e "display notification \"${TARGET_FILE}\" with title \"File created\""
  open -R "${TARGET_FILE}"
else
  osascript -e "display notification \"${TARGET_FILE}\" with title \"Unable to create file\""
  open -R "${TMP_FILE}"
fi

笔记:更改EXTENSION=xxx为您需要的任何扩展名。)

将您的工作流程保存到任何方便的位置。运行工作流程而不带参数;它将在新的 TextEdit 实例中打开一个临时文件并等待您保存并关闭 TextEdit。然后脚本将根据您的要求创建文件。

如果成功,脚本将在 Finder 中显示新创建的文件。

如果脚本无法创建文件,它将在 Finder 中显示临时文件。

相关内容