Как в bash преобразовать кодовую точку Unicode [0-9A-F] в печатаемый символ?

В вашем случае работает следующий сценарий:

find . -mindepth 1 -maxdepth 1 -type d -print0 | while read -rd '' line
do  files=("$line"/* "$line"/.*)
count=${#files[@]};((count-=2))
if [ $count -ge 5 ]
then
cp -R "$line" ../newfolder/
fi
done

Примечание: Это должно выполняться из базовой папки, поскольку я использую относительные пути.

23
26.06.2017, 13:48
1 ответ

Использование замены шаблона в bash версии 4.2 (и выше):

${parameter/pattern/string}

как описано здесьhttp://steve-parker.org/sh/tips/pattern-substitution/

UNICODE_HEX="U+02211"
printf ${UNICODE_HEX/U+/"\U"}
∑

UNICODE_HEX="U+03BB"
printf ${UNICODE_HEX/U+/"\U"}
λ         
1
27.01.2020, 19:41

Теги

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