У меня проблемы с удалением некоторых определенных c строк из файла, но это не так просто. Проблема требует поиска, а затем сохранения строк с указанными c датой и часом, например, 2008-06-08
и 12:40:53.90 AM
, до тех пор, пока пользователь не желает получить ввод данных переменной чтения $dayy
. Реальная проблема заключается в том, что мне нужны строки, которые больше после 12:40:53
до тех пор, пока, если $dayy
, например, 2008-06-12
, мне нужны строки, которые существуют до указанного c времени 12:40:53.90
, ровно через 4 дня , Я использовал приведенный ниже код bash и с помощью последней команды awk я хотел удалить строки этого дня ($dayy
), а их время после 12:40:53.90
, но он удаляет все строки этой даты. если вы могли бы помочь, я буду очень признателен.
например, если начальный день 2008-06-08
(spec_date
) и время 12:40:53.90
(timee
), тогда я хочу, чтобы все строки этого дня время до тех же самых раз в два дня 2008-06-10
(dayy
)
read dayy ; read spec_date ; read timee ;
awk -v dayy $dayy -v spec_date=$spec_date -v timee=$timee '{ if($1 >=spec_date && $2>=timee && $1 <= dayy) print $0}' ex1.dat > ex2.dat
awk -v dayy=$dayy '! ( $1==dayy && $2 ="[12-23]:[0-59]:[0-59].[0-50]")' ex2.dat
пример моих данных
2008-06-08 12:40:53.90
2008-06-08 12:43:39.80
.......................
2008-06-11 **12:39:34.22**
2008-06-11 13:21:23:43