Удалить последние символы перед разделителем

Содержание входного файла выглядит так:

header;header;header;header 2018/06/04;141000;bla;bla 

Желаемый результат:

 header;header;header;header 2018/06/04;1410;bla;bla 

У меня есть команда ниже с sed

 sed -i 's/.//16' $inputFile 

Но удаляет мой заголовок как:

 header;hder;header;header 2018/06/04;1410;bla;bla 

Чтобы избежать этого я пытался сделать:

 tail -n +2 | sed -i 's/.//16' $inputFile 

Но не работает. заранее спасибо

Использование awk :

 awk -F ';' -v OFS=';' 'NR > 1 { sub("..$", "", $2) }; 1' <"$inputFile" 

Это изменило бы второе ; -ограниченное поле в каждой строке ввода, кроме первой, удалив из нее последние два символа.

Трейлинг 1 приводит к выводу каждой строки (ее можно заменить на { print } ).

Вы перенаправили бы вывод этого в новый файл, который позже вы могли бы заменить оригиналом.

Если перед вторым разделителем нужно удалить два символа (и, как и в вашем примере, предполагается, что перед каждым из первых двух разделителей всегда есть как минимум два символа), используйте:

 sed -i -- '1!s/..;/;/2' "$inputFile" 

1! избегает изменения заголовка (первой) строки.
Остальное удаляет два символа непосредственно перед разделителем ; ,