Wie kann eine Variable in einem awk
Befehl verwendet werden, um eine Spalte einer Datei in einem if
Zustand zu lesen?awk - AWK-Variable in if-Bedingung
z.B. Nehmen wir an, wir lesen die Spalte 2 einer nachstehenden Beispieldatei, in der fcolumn1
den Wert 2
, startdate
als 2014-09-22 00:00:00
und enddate
als 2014-09-23 00:00:00
enthält.
abcd,2016-04-23 02:35:34,sdfsdfsd
sdsd,2016-04-22 02:35:34,sdfsdfsd
Im Folgenden Befehl funktioniert:
awk -v startdate="$startdate" -v enddate="$enddate" -F"," '
{
if ($2>=startdate && $2<enddate)
{
print $2
}
}'
Erwartung ist $2
so dynamisch zu machen, wie unten:
awk -v startdate="$startdate" -v enddate="$enddate" -v "fcolumn1=${fcolumn1}" -F"," '
{
if (fcolumn1 != "")
{
if (**$fcolumn1**>=startdate && **$fcloumn1**<enddate)
{
print "$fcolum1"
}
}
}'
Ich möchte $ 2 dynamisch von Variable machen. – Bunny
Wenn Sie die Spaltennummer zu einer Variablen machen wollen, können Sie verwenden: 'awk -v col = 2 '$ col <= Startdatum {...}'' – hek2mgl