31 votos

buscar una palabra en el Diccionario.aplicación en el Terminal

Hay un bash o applescript para buscar una palabra en /Applications/Dictionary.app desde una ventana de Terminal ?

open -a /Applications/Dictionary.app/ --args word

ignora --args, dice "escriba la palabra que desea buscar"

Mac Diccionario mejoras sugiere ⌃ Control ⌘ Comando D sin embargo, yo estoy buscando para el lanzamiento de la versión completa de la aplicación, no sólo la pequeña ventana emergente.

32voto

user13414 Puntos 111

Usted puede utilizar...

open dict://my_word

...que se abra el Diccionario de la aplicación y la búsqueda de la cadena my_word. Si desea utilizar varias palabras usar algo como open dict://"Big Bang Theory".

No hay salida en el Terminal, aunque.

24voto

Frank Grimm Puntos 939

El uso de Python Objective-C, enlaces, usted podría crear un pequeño script en python para llegar desde el construido en OS X Diccionario. He aquí un post con los detalles de esta secuencia de comandos"

#!/usr/bin/python

import sys
from DictionaryServices import *

def main():
    try:
        searchword = sys.argv[1].decode('utf-8')
    except IndexError:
        errmsg = 'You did not enter any terms to look up in the Dictionary.'
        print errmsg
        sys.exit()
    wordrange = (0, len(searchword))
    dictresult = DCSCopyTextDefinition(None, searchword, wordrange)
    if not dictresult:
        errmsg = "'%s' not found in Dictionary." % (searchword)
        print errmsg.encode('utf-8')
    else:
        print dictresult.encode('utf-8')

if __name__ == '__main__':
    main()

Guarda que a dict.py, y luego simplemente ejecutar python dict.py dictation

enter image description here

Echa un vistazo a los post para obtener más instrucciones sobre lo que es accesible a todos a través de su terminal.

4voto

Yo también iba a sugerir open dict://word, pero Google dictionary API también utiliza el Nuevo Diccionario Americano de Oxford:

#!/usr/bin/env ruby

require "open-uri"
require "json"
require "cgi"

ARGV.each { |word|
  response = open("http://www.google.com/dictionary/json?callback=dict_api.callbacks.id100&q=#{CGI.escape(word)}&sl=en&tl=en&restrict=pr,de").read
  results = JSON.parse(response.sub(/dict_api.callbacks.id100\(/, "").sub(/,200,null\)$/, ""))
  next unless results["primaries"]
  results["primaries"][0]["entries"].select { |e| e["type"] == "meaning" }.each { |entry|
    puts word + ": " + entry["terms"][0]["text"].gsub(/x3c\/?(em|i|b)x3e/, "").gsub("x27", "'")
  }
}

3voto

Huy Tran Puntos 111

La versión actualizada del código de David Perace respuesta, añadir algunos colores y nuevas líneas:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import re
from DictionaryServices import *

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

def main():
    try:
        searchword = sys.argv[1].decode('utf-8')
    except IndexError:
        errmsg = 'You did not enter any terms to look up in the Dictionary.'
        print errmsg
        sys.exit()
    wordrange = (0, len(searchword))
    dictresult = DCSCopyTextDefinition(None, searchword, wordrange)
    if not dictresult:
        errmsg = "'%s' not found in Dictionary." % (searchword)
        print errmsg.encode('utf-8')
    else:
        result = dictresult.encode('utf-8')
        result = re.sub(r'\|(.+?)\|', bcolors.HEADER + r'/\1/' + bcolors.ENDC, result)
        result = re.sub(r'▶', '\n\n ' + bcolors.FAIL + '▶ ' + bcolors.ENDC, result)
        result = re.sub(r'• ', '\n   ' + bcolors.OKGREEN + '• ' + bcolors.ENDC, result)
        result = re.sub(r'(‘|")(.+?)('|")', bcolors.WARNING + r'"\2"' + bcolors.ENDC, result)
        print result

if __name__ == '__main__':
    main()

0voto

user28958 Puntos 1

Me encontré este post buscando una cosa similar. No estaba contento con las opciones disponibles de manera simple script. Es un terminal basado en diccionario de sinónimos con el texto a voz. Puede ser de interés ...

https://github.com/aefty/thes

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X