условный запуск завершающей команды в одном лайнере

Эта проблема все еще существует в 2015 году в Linux Mint 17.1. Чтобы исправить ситуацию, вам необходимо установить модули hunspell или myspell для предпочитаемого вами языка. Например.

sudo apt-get install myspell-en-us

Затем следует КЛЮЧЕВОЙ шаг.

Откройте LibreOffice и перейдите в Инструменты → Параметры → Языковые настройки → Средства письма, выберите отображаемые там модули проверки орфографии и Отредактируйте их и измените язык на предпочитаемый язык, для которого установлен модуль проверки орфографии. .

Также установите предпочтительный язык в Инструменты → Параметры → Настройки языка → Языки. Перезагрузите libreoffice, чтобы настройки вступили в силу.

В обоих этих параметрах вы увидите, что языки, на которых установлены модули проверки орфографии, будут иметь небольшой значок проверки орфографии помимо названия, как показано на снимке экрана.

Снимок экрана для первой настройки enter image description here

Снимок экрана для второй настройки

enter image description here

1
27.02.2018, 03:02
3 ответа

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 -ven la medida en que no devuelve un error cuando la salida es0

0
27.01.2020, 23:23

Puede usar greppara esto.

grep -qP '\S'

Esto terminará con 0 en cualquier carácter de espacio en blanco que no sea -en la entrada.--qsignifica silencioso (sin salida )--Pes para expresiones regulares de Perl-\Ses 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.

1
27.01.2020, 23:23

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 catdentro 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 usartestpor nombre en lugar de como[:

$ echo "abc abc" | wc -w | test $(cat) -gt 0 && echo hi

Podría evitar el proceso catcon read;echo $REPLY, pero probablemente no importe.


En Bash, esto funciona, y catse 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 shes Bash en modo POSIX ). Mi lectura de POSIX es consistente con que este sea el resultado correcto.

2
27.01.2020, 23:23

Теги

Похожие вопросы