sed
проще:
sed "/$pattern/a\
$line" "$file"
Вывод:
127.0.0.1 localhost
127.0.1.1 cent.centurian.com centurian
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
GNU sed
допускает однострочную версию вышеуказанного :
sed $file -e "/$pattern/a $line"
... и для вывода $ line
перед $ pattern
, измените a
(ppend) на i
(nsert) :
sed $file -e "/$pattern/i $line"