Estou tentando classificar um patch para destacar uma alteração específica:
$ curl -s https://lists.fedorahosted.org/archives/list/[email protected]/message/ZN6VMFN65JWV7NMG2XEHPUI2AGSLRNGW/attachment/2/0001-LDAP-Change-the-default-rfc2307-autofs-attribute-map.patch | \
grep '^[+-] *{ "' | sort
A saída é:
- { "ldap_autofs_entry_object_class", "automount", SYSDB_AUTOFS_ENTRY_OC, NULL },
+ { "ldap_autofs_entry_object_class", "nisObject", SYSDB_AUTOFS_ENTRY_OC, NULL },
- { "ldap_autofs_entry_value", "automountInformation", SYSDB_AUTOFS_ENTRY_VALUE, NULL },
+ { "ldap_autofs_entry_value", "nisMapEntry", SYSDB_AUTOFS_ENTRY_VALUE, NULL },
+ { "ldap_autofs_map_name", "nisMapName", SYSDB_AUTOFS_MAP_NAME, NULL },
- { "ldap_autofs_map_name", "ou", SYSDB_AUTOFS_MAP_NAME, NULL },
- { "ldap_autofs_map_object_class", "automountMap", SYSDB_AUTOFS_MAP_OC, NULL },
+ { "ldap_autofs_map_object_class", "nisMap", SYSDB_AUTOFS_MAP_OC, NULL },
Eu esperava que a classificação fosse classificada pelo primeiro caractere +/-.
Posso confirmar que os caracteres são consistentemente 0x2b e 0x2d:
$ curl -s https://lists.fedorahosted.org/archives/list/[email protected]/message/ZN6VMFN65JWV7NMG2XEHPUI2AGSLRNGW/attachment/2/0001-LDAP-Change-the-default-rfc2307-autofs-attribute-map.patch | grep '^[+-] *{ "' | cut -c1 | hexdump -C
00000000 2d 0a 2d 0a 2b 0a 2b 0a 2d 0a 2b 0a 2d 0a 2b 0a |-.-.+.+.-.+.-.+.|
00000010
sort -d
fornece o mesmo resultado. -d
diz alfanumérico e +/- não é alfanumérico. sort -n
também não funciona (eu não esperava).
Estou usando o Linux / Unix por mais tempo do que gostaria de admitir, e nunca percebi isso antes!
... Isso é esperado? Existe outra maneira de usar sort
? (Eu sei que também pode ser feito em um forro de Perl ...)