Я создал скрипт bash
для миниатюры всех изображений в дереве. Это следующее:
#!/bin/bash
find -path "thumbnails/" -prune -or -iname "*.jpg" -exec \
bash -c 'convert "$0" -resize 256x256 thumbnails/`sha512sum "$0" | awk "{ print \\$1 }"`.jpg' {} \;
# ^^
В команде awk есть двойное значение \\
. (Я отметил это ^^
в закомментированной строке, но вам, вероятно, потребуется прокрутить →) Зачем мне здесь две обратные косые черты? Мне нужен один, чтобы предотвратить попытку расширения оболочки $1
, но в остальном мы работаем только с одним набором одинарных кавычек, который не должен мешать количеству слешей. Тем не менее, только с одним обратным слешем выполняется awk { print }
, что не правильно.
Почему \\
?