Если для поиска профиля достаточно использовать следующие критерии:
<key>Name</key>
<string>iOS Team Provisioning Profile: *</string>
вы можете просканировать каталог с помощью awk. Этот однострочный файл найдет первый файл, имя которого начинается с «iOS Team».
awk 'BEGIN{e=1;pat="<string>"tolower("iOS Team")}{cur=tolower($0);if(cur~pat &&prev~/<key>name<\/key>/){print FILENAME;e=0;exit};if($0!~/^\s*$/)prev=cur}END{exit e}' *
Вот сценарий, который также возвращает первое совпадение, но с ним легче работать.
#!/bin/bash
if [ $# != 1 ] ; then
echo Usage: $0 \<start of provisioning profile name\>
exit 1
fi
read -d '' script << 'EOF'
BEGIN {
e = 1
pat = "<string>"tolower(prov)
}
{
cur = tolower($0)
if (cur ~ pat && prev ~ /<key>name<\\/key>/) {
print FILENAME
e = 0
exit
}
if ($0 !~ /^\s*$/) {
prev = cur
}
}
END {
exit e
}
EOF
awk -v "prov=$1" "$script" *
Его можно вызвать из каталога профилей $ HOME / Library / MobileDevice / Provisioning Profiles :
~/findprov "iOS Team"
Чтобы использовать сценарий, сохраните его в подходящем месте и не забудьте установить исполняемый режим; например, chmod ugo + x