我使用以下 awk 命令(在我的 bash 脚本中)从/etc/fstab
文件中删除重复行,然后将更新 fstab ( fstab.correct
) 文件复制到 /etc/fstab
awk '/^#/ || "'!'"a[\$0]++' /etc/fstab > /etc/fstab.correct
cp /etc/fstab.correct /etc/fstab
因为我想防止复制 - cp /etc/fstab.correct /etc/fstab
我们可以使用 sed 或 perl lineliner 来删除 awk 中的重复行,这会更优雅
我将不胜感激获得如何通过或一行删除fstab
文件中重复行的建议sed
perl
答案1
如果无法对文件进行排序,据我所知,不可能使用sed
.
不过perl
,你可以使用这个:
perl -i -ne 'print if ! $x{$_}++' /etc/stab