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 fedora-list mailing list