Как предположил Иван, в вашем текстовом файле отсутствует маркер конца строки (EOL) на последней строке.Поскольку этого нет, three
распечатывается с помощью sed, но затем сразу перезаписывается вашим приглашением.Это можно увидеть, если принудительно напечатать дополнительную строку.
sed 's/one/1/' file.txt && echo
Это распространенная проблема, поскольку люди неправильно воспринимают EOL как признак наличия следующей строки (именно поэтому ее обычно называют"новая строка"), а не как указание на то, что текущая строка закончилась.