Add to text file from command line via echo... possible to add to a particular line?[Scanned]
Paul Howarth
paul at city-fan.org
Thu Jun 29 10:06:28 UTC 2006
On Thu, 2006-06-29 at 07:42 +0100, Chris Bradford wrote:
> Hi guys,
>
> I'm making a setup script for my Linux boxes that re-install Openldap
> and some other bits and bobs. I need to add some text to /etc/pam.d/gdm
> for example, and it needs to be on a particular line in this file, not
> at the bottom.
>
> For example using the command:
>
> echo 'session required pam_mkhomedir.so skel=/etc/skel umask=0077'
> >> /etc/pam.d/gdm
>
> Will only add this to the bottom of the file, can I get around this, it
> needs to be on the same position on all machines, ie line 8.
How about:
awk ' NR == 8 {
printf "session required pam_mkhomedir.so skel=/etc/skel
umask=007\n"
}
{ print }' /etc/pam.d/gdm > /etc/pam.d/gdm.new
mv /etc/pam.d/gdm.new /etc/pam.d/gdm
Paul.
More information about the users
mailing list