Эта проблема все еще существует в 2015 году в Linux Mint 17.1. Чтобы исправить ситуацию, вам необходимо установить модули hunspell
или myspell
для предпочитаемого вами языка. Например.
sudo apt-get install myspell-en-us
Затем следует КЛЮЧЕВОЙ шаг.
Откройте LibreOffice и перейдите в Инструменты → Параметры → Языковые настройки → Средства письма, выберите отображаемые там модули проверки орфографии и Отредактируйте
их и измените язык на предпочитаемый язык, для которого установлен модуль проверки орфографии. .
Также установите предпочтительный язык в Инструменты → Параметры → Настройки языка → Языки. Перезагрузите libreoffice, чтобы настройки вступили в силу.
В обоих этих параметрах вы увидите, что языки, на которых установлены модули проверки орфографии, будут иметь небольшой значок проверки орфографии помимо названия, как показано на снимке экрана.
Снимок экрана для первой настройки
Снимок экрана для второй настройки
Lo que haría:
find '/Users/mac/exifin/' \( -iname "*.nef" -o -iname "*.dng" \) -type f -exec bash -c 'if test -f "$1"; then if (( $(/usr/local/bin/exiftool -GPSLatitude -GPSLongitude "$1" | wc -w) > 0)); then echo copy; cp "$1" "/Users/mac/exifout/" && echo "Delivered"; fi; fi' -- {} \;
No puede confiar en la lógica booleana de wc -v
en la medida en que no devuelve un error cuando la salida es0
Puede usar grep
para esto.
grep -qP '\S'
Esto terminará con 0 en cualquier carácter de espacio en blanco que no sea -en la entrada.--q
significa silencioso (sin salida )--P
es para expresiones regulares de Perl-\S
es para un carácter de espacio en blanco no -
Algunos ejemplos:
$ echo | grep -qP '\S' && echo ok
$ echo " " | grep -qP '\S' && echo ok
$ echo " x " | grep -qP '\S' && echo ok
ok
Si esto es lo que realmente quieres.
Puede canalizar una expresión condicional como cualquier otro comando:
$ echo | wc -w | [ $(cat) -gt 0 ] && echo hi
$ echo "abc abc" | wc -w | [ $(cat) -gt 0 ] && echo hi
hi
Este cat
dentro de$(... )
sustitución de comando para obtener la entrada canalizada en la línea de comando como si estuviera escrita allí, y luego prueba si es numéricamente mayor que 0 . Todo el bloque [... ]
devuelve verdadero si lo es y falso de lo contrario, por lo que puede usarlo con &&
como de costumbre.
También podría usartest
por nombre en lugar de como[
:
$ echo "abc abc" | wc -w | test $(cat) -gt 0 && echo hi
Podría evitar el proceso cat
con read;echo $REPLY
, pero probablemente no importe.
En Bash, esto funciona, y cat
se ejecuta en el lugar y momento correctos dentro de la canalización , pero no en otros shells (, incluido zsh ). No sé si este es un comportamiento explícitamente especificado, pero es estable en las versiones de Bash desde la 3.2 al menos, tanto en modos POSIX como no -POSIX (macOS sh
es Bash en modo POSIX ). Mi lectura de POSIX es consistente con que este sea el resultado correcto.