是否可以让 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 中显示临时文件。