Попробуйте, если вы хотите, чтобы имена файлов PDF отображались только в том случае, если они следуют за символами двойной трубы и являются последними в строке:
sed -n 's/.*||\([^|]*.pdf\)$/\1/p' inputfile
Второе имя файла PDF в вашем примере следует за одним символом канала, но в этой строке есть более ранний набор двойных каналов. Это должно учитывать оба стиля линий, если имя файла - это та часть, которая не содержит символов канала:
sed -n 's/.*||.*|\([^|]*.pdf\)$/\1/p' inputfile
Если ваши имена файлов состоят только из шестнадцатеричных цифр и дефисов, вы можете быть немного более избирательными, как это:
sed -n 's/.*||.*|\([[:xdigit:]-]*.pdf\)$/\1/p' inputfile