tr
procesa caracteres individuales, no cadenas de caracteres. Sus argumentos son conjuntos de caracteres, que constituyen un uno -a -mapeo uno:
tr aab xyz
significa "reemplazar a
con x
, a
con y
, b
con z
". Puede ser útil ver los dos conjuntos uno encima del otro:
tr aab \
xyz
Si el segundo conjunto es más corto que el primero, se amplía repitiendo el último carácter (de forma predeterminada ). Los conjuntos se leen en orden, no se aplican en orden; por lo que el reemplazo “a
→ y
” anterior borra el reemplazo “a
→ x
” definido justo antes.
Имя пользователя, указанное как login
в разделе target
, можно получить из обоих документов JSON, используяjq
:
$ jq -r '.payload.target.login' file1.json
username3
Аналогичным образом можно получить login
под actor
:
$ jq -r '.actor.login' file1.json
username4
Если вы хотите, чтобы вывод зависел отtype
(и ничего не производил, если type
не соответствуетFollowEvent
):
jq -r 'select(.type == "FollowEvent") |.actor.login' file1.json