Чтобы сохранить мой личный английский узел, я написал скрипт утилиты, который помогает заменить несколько папок старой / новой строки для всех файлов в каталоге рекурсивно.
Несколько паре старой / новой строки управляются в хэш-карте.
Директору можно установить через командную строку или переменную окружения, карта жестко закодирована в скрипте, но вы можете изменить код для загрузки из файла, если это необходимо.
Это требует bash 4.2 из-за некоторой новой функции.
en_standardize.sh:
#! /bin/bash
# (need bash 4.2+,)
#
# Standardize phonetic symbol of English.
#
# format:
# en_standardize.sh [<dir>]
#
# params:
# * dir
# target dir, optional,
# if not specified then use environment variable "$node_dir_en",
# if both not provided, then will not execute,
# *
#
paramCount=$#
# figure target dir,
if [ $paramCount -ge 1 ]; then # dir specified
echo -e "dir specified (in command):\n\t$1\n"
targetDir=$1
elif [[ -v node_dir_en ]]; then # environable set,
echo -e "dir specified (in environment vairable):\n\t$node_dir_en\n"
targetDir=$node_dir_en
else # environable not set,
echo "dir not specified, won't execute"
exit
fi
# check whether dir exists,
if [ -d $targetDir ]; then
cd $targetDir
else
echo -e "invalid dir location:\n\t$targetDir\n"
exit
fi
# initial map,
declare -A itemMap
itemMap=( ["ɪ"]="i" ["ː"]=":" ["ɜ"]="ə" ["ɒ"]="ɔ" ["ʊ"]="u" ["ɛ"]="e")
# print item maps,
echo 'maps:'
for key in "${!itemMap[@]}"; do
echo -e "\t$key\t->\t${itemMap[$key]}"
done
echo -e '\n'
# do replace,
for key in "${!itemMap[@]}"; do
grep -rli "$key" * | xargs -i@ sed -i "s/$key/${itemMap[$key]}/g" @
done
echo -e "\nDone."
exit
Вам нужно вручную указать каждое поле, поскольку Graph API v2.4:
Декларативные поля Чтобы повысить производительность в мобильных сетях, Nodes и Edges в версии 2.4 требуют, чтобы вы явно запрашивали поля, которые вам нужны для ваших запросов GET. Например, GET /v2.4/me/feed больше не включает в себя предпочтения и комментарии по умолчанию, но GET /v2.4/me/feed?fields=comments-likes вернет данные. Для получения дополнительной информации см. Документы о том, как запрашивать определенные поля.
blockquote>Например:
FB.api('/me', 'get', { access_token: token, fields: 'id,name,gender' }, function(response) { console.log(response); });
Также можно использовать этот синтаксис для данных из области public_profile (проверен в Graph API v2.9):
FB.api('/me?fields=birthday,link,gender,age_range', function(response) {
console.log(response);
});
Вы можете проверить возможные значения онлайн в Graph API Explorer, просто нажмите кнопку «Получить токен»: