Ich filtere die vierte Spalte in einer Datei mit dem Befehl unten. es funktioniert gut in der Konsoleawk-Befehl funktioniert in der Konsole, funktioniert aber nicht im Shell-Skript
[[email protected] Now]$ creationTime="8:15 PM"
[[email protected] Now]$ awk -F, -v var="$creationTime" '{if($4==var) print}' input.txt
serial1,tech,EU,8:15 PM,gan
Hinzugefügt den gleichen Befehl in Shell-Skript, aber es funktioniert nicht.
$ cat test.sh
creationTime=$(date -d '330 minutes' +"%l:%M %p")
echo $creationTime
awk -F, -v var="$creationTime" '{if($4==var) print}' input.txt
Output während execting das Skript
[[email protected] Now]$ sh test.sh
8:15 PM
input.txt
serial1,tech,APAC,8:09 PM,anz
serial1,tech,EU,8:15 PM,gan
Da die Zeit dynamisch im Skript berechnet, kann der Zeitstempel einfach nicht Teil von 'input.txt' – hek2mgl