我在超过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
谢谢!
答案 0 :(得分:1)
使用awk你可以这样做:
awk 'FNR==NR {a[$0];next} ($0 in a){$0="#" $0} 1' NFS.old fstab
Line1
Line2
#LineA
#LineB
#LineC
Line3
Line4
答案 1 :(得分:0)
您还可以将此单行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。
答案 2 :(得分:0)
awk 'NR==FNR{old[$0];next} {print ($0 in old ? "#" : "") $0}' NFS.old /etc/fstab