Embora você quisesse uma solução de linha de comando para o seu problema, o AppleScript é de longe a melhor escolha neste caso, pois a geração de novos dados plist é muito mais simples.
Meu script abaixo terá o conteúdo de um arquivo de texto CSV especificado que contém as substituições de texto antigas do Windows e o usa para gerar um arquivo .plist
que você pode importar diretamente para Preferências do Sistema arrastar e soltar.
Para executar o script, você precisará abrir o Editor de scripts e definir os seguintes pequenos ajustes para atender às suas opções específicas:
- Altere o valor da propriedade
csvf
(linha 1) para o caminho no qual o arquivo CSV pode ser localizado. Eu tinha o meu no Desktop e era chamadosubstitutions.txt
; - Se você realmente se sentir bem com relação a isso, poderá alterar o valor da propriedade
plistf
(linha 2) para um novo caminho. No entanto, este arquivo é temporário, e você estará destruindo-o mais tarde, quando terminar; - Por último, altere a propriedade
text item delimiters
para o caractere que atua como um separador de campo para seus dados CSV. No momento, eu o defino como|
e meu arquivo CSV de amostra ficou assim:ABCDEFG|äbçdêfg 1234567|0000000
, que corresponde a duas substituições de texto, a primeira delas mapeiaABCDEFG
para equivalentes internacionais minúsculos e a segunda mapeia1234567
para sete zeros.
O script tem vários comentários para descrever o que cada parte faz. Mas também é muito curto e não precisa de muita atenção. Após a execução, o arquivo substitutions.plist
deve aparecer em sua área de trabalho. Abra Preferências do Sistema > Teclado > Texto e arraste o arquivo .plist
para a lista grande para importá-los imediatamente.
property csvf : "~/Desktop/substitutions.txt" -- CSV file containing substitions to import
property plistf : "~/Desktop/substitutions.plist" -- Plist file to which data is outputted
property text item delimiters : "|" -- The CSV field separator used in the csvf file
property ReplacementItem : {phrase:missing value, shortcut:missing value}
global ReplacementItems
on run
set ReplacementItems to {} -- a list to store text replacement record data
-- Read CSV values from text file and use
-- them to create new text replacement items
readFromCSVFile at csvf
-- Create plist file
tell application "System Events" to set the value ¬
of (make new property list file ¬
with properties {name:plistf}) ¬
to the ReplacementItems
end run
-- This handler receives arguments A and B, and creates
-- a new text replacement record that will be used to
-- map (substitute) text A to text B.
on textReplacementToMap from A as text to B as text
local A, B
tell the ReplacementItem
set its shortcut to A
set its phrase to B
end tell
copy the ReplacementItem to the end of the ReplacementItems
end textReplacementToMap
-- This handler receives a file path to a CSV file
-- that contains a CSV-formatted list of text
-- substitutions that will be read and used to create
-- the new text replacement mappings
to readFromCSVFile at f as text
local f
tell application "System Events"
if not (file f exists) then return
set POSIXfile to the POSIX path of file f
end tell
read the POSIXfile as «class utf8»
repeat with CSVitem in paragraphs of result
try
set [A, B] to CSVitem's text items
textReplacementToMap from A to B
end try
end repeat
end readFromCSVFile