我有包含IP列表的文件。在这些IP中,我想删除10.0.1.x系列的IP。
所以要检查我在命令
之后使用的那些IPgrep -F "10.0.1." IPList.txt
但是如何从IPList.txt中删除这些IP,因为我必须提供此IPList.txt文件作为另一个脚本的输入。
答案 0 :(得分:2)
一种可能的选择是使用grep -v
,GNU Grep 2.23 man
page部分说明,
-v --invert-match Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)
类似
grep -v "10.0.1." < IPList.txt > IPList-nolocal.txt
将IPList.txt
复制到IPList-nolocal.txt
,不包括与10.0.1.
匹配的所有行
如果你想在运行它时看到输出,你可以使用tee
command(链接的维基百科文章开始通常用于分割程序的输出,以便它可以显示和保存在文件中)
grep -v "10.0.1." < IPList.txt | tee IPList-nolocal.txt
答案 1 :(得分:2)
使用GNU sed:
sed '/^10\.0\.1\./d' IPList.txt
如果您要“就地”修改文件,请使用sed的选项-i
。