Уважаемые,
В приведенной ниже строке "|" является разделителем в файле. Если дата между 19-м и 20-м вхождением пуста, замените ее текущей датой для всех строк в файле.
227354|SD-PD-100456|P-OD-98767318712|ABC|O|EN|UJ|NM|ABC|ABC;ABC;ABC||98765432||I|A||01/04/2019||||06/04/2020||JU|HINB
sed -i "s/\(\([^|]*|\)\{19\}\)[^|]*/\1$(date '+%d\/%m\/%Y')/g" *
с помощью этой команды я могу заменить текст между 19-м и 20-м разделителем, однако я не понимаю, как заменить его, только если он пуст.