Обрезка файловой системы состоит из двух шагов:
Шаг 2 можно выполнить в любой операционной системе, которая может взаимодействовать с флэш-накопителем. Но шаг 1 требует знания файловой системы. Заставить fstrim
работать — единственное решение, и более вероятно, что кто-то заставит его работать для BeFS на Haiku, чем на какой-либо другой ОС.
Попробуйте:
sed -E 's/:([0-9]+[AP]M$)/.\1/'
Я не пытался выяснить, что не так с вашим регулярным выражением, но лично я бы не стал сопоставлять начало строки, если вам это не нужно. Также должно быть быстрее просто соответствовать концу строки.
Я попробовал команду sed ниже, и она решила мою задачу
sed -e 's/ ([A -Z][a -z]{2}[ ]{1,2}[0 -9]{1,2} [ ]{1,2}[0 -9]{4}[ ]{1,2}[0 -9]{1,2} :[0 -9]{2} :[0 -9] {2} ):([0 -9] {3}[A,P]M )/\1.\2/g'
В конце концов, вы хотите заменить третье двоеточие точкой:
sed 's/:/./3' input.txt