OSX TextEdit salve com a primeira linha

1

É possível fazer o TextEdit salvar um arquivo aberto sem nome com a primeira linha (ou primeira palavra) do texto daquele documento?

por exemplo: Eu crio um novo documento de texto no TextEdit; escreva a primeira linha como quero que o nome do arquivo também seja, digamos: "Test"; Eu fecho o documento e recebo o arquivo salvo como "Test.xxx"

obrigado

    
por poupou 27.06.2015 / 11:16

1 resposta

0

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.

    
por 29.06.2015 / 19:11