Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Uncomment lines after a match 1

Status
Not open for further replies.
Apr 8, 2014
13
US
Code:
Example file is /etc/fstab:
/dev/mapper/Volume00-usr /usr                    ext4    defaults        1 2
/dev/mapper/Volume00-var /var                    ext4    defaults  1 2
/dev/mapper/Volume00-crash /var/crash            ext4    defaults  1 2
/dev/mapper/Volume00-swap swap                    swap    defaults        0 0

#NFS static
nfs1:/dmz    /fs1                glusterfs       _netdev,defaults,ro,backupvolfile-server=serverX,fetch-attempts=5     0 0
nfs1:/dyn_c      /fs2/path2         glusterfs       _netdev,defaults,ro,backupvolfile-server=serverX,fetch-attempts=5     0 0
nfs1:/dyn_a    /fs3/path3             glusterfs       _netdev,defaults,ro,backupvolfile-server=serverX,fetch-attempts=5     0 0
nfs1:/dyn_w /fs4/path4           glusterfs       _netdev,defaults,ro,backupvolfile-server=serverX,fetch-attempts=5     0 0

############COMMENTED
#server1:/prodst    /fs1                    glusterfs       _netdev,defaults,ro,backupvolfile-server=serverN,fetch-attempts=3     0 0
#server1:/dyn_a     /fs2/path2              glusterfs       _netdev,defaults,ro,backupvolfile-server=serverN,fetch-attempts=3     0 0
#server1:/dyn_w  /fs3/path3           glusterfs       _netdev,defaults,ro,backupvolfile-server=serverN,fetch-attempts=3     0 0
#server1:/dyn_m     /fs4/path4         glusterfs       _netdev,defaults,ro,backupvolfile-server=serverN,fetch-attempts=3     0 0
#server1:/dyn_e      /fs5/path5        glusterfs       _netdev,defaults,ro,backupvolfile-server=serverN,fetch-attempts=3     0 0

Need to uncomment lines after the "############COMMENTED" match,
and comment lines after "#NFS static" but before "############COMMENTED".

I tried:
Code:
# i=$(df -Ph |egrep "fs5|fs1" |grep -v dmz |awk '{print $6}'); do var=$i; num=$(awk -v var="$var" '$2==var && $1 ~ /omhq11ad/{print $1}' fstab); sed "${num} s/# //" fstab; done
but that doesn't work. The lines to be uncommented and commented only need to be done if the filesystems are currently mounted.
 
Need to uncomment lines after the "############COMMENTED" match,
and comment lines after "#NFS static" but before "############COMMENTED"

awk 'f==1{sub(/^[^#]/,"#")}f==2{sub(/^#/,"")}/#NFS static/{f=1}/#COMMENTED/{f=2}1' fstab

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top