我正在更新500多台服务器上的fstab。当前fstab有旧的和新的NFS共享线。我要评论一下老台词。例如:
NFS.old - Temp File
LineA
LineB
LineC
/etc/fstab - Current
Line1
Line2
LineA
LineB
LineC
Line3
Line4运行一个具有NFS.old输入的for循环,在/etc/fstab中找到行&注释它
/etc/fstab - Expected fstab
Line1
Line2
#LineA
#LineB
#LineC
Line3
Line4谢谢!
发布于 2014-11-12 10:57:16
使用awk,您可以:
awk 'FNR==NR {a[$0];next} ($0 in a){$0="#" $0} 1' NFS.old fstab
Line1
Line2
#LineA
#LineB
#LineC
Line3
Line4发布于 2014-11-12 11:27:05
您还可以使用这个单行bash脚本和sed命令。
while read line ; do sed -i "s/^$line$/#&/" /etc/fstab; done < NFS.old输出:
cat /etc/fstab
Line1
Line2
#LineA
#LineB
#LineC
Line3
Line4注意:超级用户只访问/etc/fstap。
发布于 2014-11-12 13:58:38
awk 'NR==FNR{old[$0];next} {print ($0 in old ? "#" : "") $0}' NFS.old /etc/fstabhttps://stackoverflow.com/questions/26885212
复制相似问题