У меня есть текстовый файл, имеющий дату и время в указанной ниже форме на 4-й строке файла:Удалить дату и время из текстового файла
[0x1FFD] LOG 2017/02/22 06:20:48.644 Diagnostic Version Length: 0149 255
Теперь я должен удалить строку "2017/02/22 06: 20: 48.644 "в файле.
Эта дата и время не являются постоянными и будут меняться при каждом сохранении файла (он принимает текущую дату и время).
Поскольку я не являюсь perl-кодером, мне сложно разобраться в этом.
ПРИМЕЧАНИЕ: Мне нужно внести изменения только в входной файл. Мне не нужно создавать отдельный выходной файл.
Заранее благодарен!
Возможно, вы можете прочитать файл, а затем использовать для него регулярное выражение для поиска и замены метки времени. – Mohit
Не могли бы вы предложить регулярное выражение для получения времени и даты – gollusingh09
Если формат _always_ одинаковый, вот простая версия: '$ line = ~ s | \ d {4}/\ d {2}/\ d { 2} \ d {2}: \ d {2}: \ d {2} \. \ D {3} ||; '. Вы просматриваете строки ('while (<$fh>)'), имеют вышеперечисленное выражение и затем записываете строку в новый файл. Если совпадения нет (нет даты в строке), в регулярном выражении ничего не происходит, и эта строка записывается без изменений, т.е. скопировано. После обработки файла вы перезаписываете оригинал (используйте 'move' из' File :: Copy'). Вы не можете «редактировать» оригинал, вам нужно записать новый файл, а затем скопировать его по оригиналу. – zdim