$ echo P@$$word
P@74266word
$ echo 'P@$$word'
P@$$word
Recuerde siempre citar cadenas. Además, las expansiones de variables de comillas dobles como$1
:
$ ls
a_file
$ variable="a*"
$ echo $variable
a_file
$ echo "$variable"
a*
Además, para comparar contraseñas, debe comparar las contraseñas cifradas, no las descifradas. Si se usa una sal, se debe usar la misma sal que se usó para cifrar la contraseña original. OpenSSL almacena esto en los primeros ocho bytes de los datos cifrados.
Я упростил команду и получил ожидаемый результат:
sort -t '|' -r -k5.8,5.18 -n -k3 completefile.txt
Сценарий Awk :преобразует последнее поле в метку времени и сравнивает.
#!/usr/bin/awk -f
BEGIN {
FS = "|"
}
{
data[NR] = $0
cmd = "date \"+%s\" --date " "\"" $5 "\""
cmd|getline
stamp2idx[$0] = NR
}
END {
asorti(stamp2idx, sorted)
for (n in sorted) {
print data[stamp2idx[sorted[n]]]
}
}
выход
➤./solution.awk data 20:39:09
Beendet|48150|1550775601|EXP|Thu Feb 21 20:00:12 2019
Beendet|9072|1550777401|AMS0|Thu Feb 21 20:52:17 2019
Beendet|7|1550779201|MAS|Thu Feb 21 21:00:23 2019
Beendet|940001|1550790961|CBST|Fri Feb 22 0:16:12 2019
Beendet|73|1550790061|HIST|Fri Feb 22 2:00:30 2019
Beendet|9220|1550804401|AMS1|Fri Feb 22 4:00:09 2019
Beendet|48149|1550804401|STR|Fri Feb 22 4:00:45 2019
Beendet|122|1550804821|HIST1|Fri Feb 22 4:07:08 2019
Beendet|670|1550811601|MOR|Fri Feb 22 6:00:07 2019
Beendet|658521|1550817001|CANS|Fri Feb 22 7:30:10 2019