В наборе данных, который я обрабатываю, 5-й ($5
) столбец каждой строки содержит дату в формате '%d/%m/%y'
. Я хочу сравнить это с предоставленным пользователем.
Я знаю, что для того, чтобы легко сравнивать даты с реляционными бинарными операторами, они должны быть в %y-%m-%d
, поэтому мне нужно встроить-преобразовать значение 5-го столбца в значение, чтобы выражение выглядело как true:
Вот что я придумал до сих пор:
awk -F "$columnsep" -v dateA="$bornsince" '{if (FNR>1 && dateA<= system("bash echo "$5"| awk -F '/' '{print $3"-"$2"-"$1}'") ) {print}}' $file
Как видите, '{if (FNR>1 && dateA<= system("bash echo "$5"| awk -F '/' '{print $3"-"$2"-"$1}'") ) {print}}'
- это выражение, которое я пытаюсь оценить, но у меня возникают проблемы с обработкой системного вызова. Я действительно просто хочу позвонить awk -F '/' '{print $3"-"$2"-"$1}'"
, добавив туда $5
, чтобы правильно преобразовать дату.
- Нужно работать на MacOS и Linux (Ubuntu)
Минимальный примерный набор данных:
1099511629352 Nunez Jorge female 17/11/1986