Solução que usa um script de shell ou um fluxo de trabalho do Automator
Abra o Automator e crie um fluxo de trabalho. Quando solicitado a escolher um tipo de fluxo de trabalho, escolha um que se ajuste à sua preferência.
Arraste o modelo Utilitários »Executar Script Shell para o fluxo de trabalho vazio; isso abre um campo de texto grande. Cole o seguinte código no campo de texto:
#!/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
( Nota: Altere EXTENSION=xxx
para qualquer extensão que você precisar.)
Salve seu fluxo de trabalho em qualquer local que seja conveniente. Execute o fluxo de trabalho sem argumentos; ele abrirá um arquivo temporário em uma nova instância do TextEdit e esperará que você salve e feche o TextEdit. O script criará o arquivo de acordo com seus requisitos.
Se for bem-sucedido, o script revelará o arquivo recém-criado no Finder.
Se o script não puder criar um arquivo, ele revelará o arquivo temporário no Finder.