Hallo Ich versuche ein Skript zu machen, um nach bestimmten Informationen aus einer Datei zu suchen und sie zu drucken. Mein Fall ist dies: Ich habe eine Datei im Format: id|lastname|firstname|birthday|
. Ich möchte das Skript aufrufen und ein Datumsargument und die Datei angeben, damit es mir alle "Leute" zeigt, die nach dem angegebenen Datum geboren wurden. Lassen Sie mich Ihnen meinen Code:Vergleichen von Daten in awk Shell
#!/bin/bash
case $1 in
--born-since)
d=($2 +%F); # this one puts the date I've given into the variable d
grep -vE '^#' $4 | awk -F "|" ' $4 >= $d '
;;
esac
Ich nenne dieses Skript in Form von:
./script --born-since <date> -f <file>
Punkt ist es nicht tut, was ich will es tun. Ich drucke falsche Ergebnisse. Zum Beispiel in einer Datei mit 4 Daten (1989-12-03,1984-02-18,1988-10-14,1980-02-02), mit dem Datum von 1985-05-13 druckt es nur die Person mit Datum 1984-02-18 was falsch ist. Es ist wahrscheinlich etwas anderes und nicht das Datum zu vergleichen. Irgendein Rat ?
ja mein schlecht, es ist falsch, es ist einfach zu viele unterschiedliche Ergebnisse aus verschiedenen Einträgen, daher habe ich ein wenig verwirrt, Bearbeitung –
Post ein paar Eingangsleitungen werden alle Felder – RomanPerekhrest