Я использую grep для анализа списка друзей, полученного через Facebook Open Graph API. В основном я могу делать то, что хочу, с помощью следующей команды, введенной в bash:
grep -aiPo '"name":"(.*?)","id":"[[:digit:]]*"' friends?blahblah-access-token-stuff
, который выдает список, который выглядит следующим образом:
"name":"John Day","id":"--id ommitted--"
"name":"Andria Cast\u00f1eda","id":"--id ommitted--" // let me draw your attention here
"name":"Jane Doe","id":"--id ommitted--"
Имена были изменены выше для сохранения конфиденциальности
Если вы заметили, в средней записи есть неэкранированная последовательность, которая соответствует тильде N. Есть ли простой способ вставить такие символы в программу java (мое основное намерение), чтобы java понимал, что \ u00f1eda такое юникод говорит за кудрявый п?
Я бы предпочел бы не решить эту проблему, проанализировав строку в java и вручную отключив unicode. Я бы очень предпочел дать команду grep, чтобы справиться с этой ситуацией, или другой GNU или инструмент с открытым исходным кодом, который широко доступен для bash.
В тот момент я передавал весь входной файл в виде файла в Java-программу, не беспокоясь о OMG, это escape-последовательность Юникода !!? Java естественным образом обнаружит символы Юникода и отобразит их в соответствующее внутреннее представление.
Заранее спасибо!