任何人都可以告诉我如何通过1个命令批量替换多个文件中的IP?这个sed命令有什么作用?
sed 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/x.x.x.x/g' *
这里真的需要帮助。谢谢!
答案 0 :(得分:1)
这个sed确实:
s/pattern1/pattern2/g
用pattern1
pattern2
来自[0-9]\{1,3\}
的 1 to 3
= 0-9
个数字
\.
表示单个点.
因此理论上,这应该将所有文件中的所有IP更改为给定的IP x.x.x.x
*
表示此文件夹中的所有文件
所以没有留下原始IP,所以要小心。
PS这不是百分之百的工作。例如,此号码3452.343.13.34
(不是IP)将更改为3x.x.x.x
答案 1 :(得分:0)
sed "s/\([12]\{0,1\}[0-9]\{0,1\}[0-9]\.\)\{3\}[12]\{0,1\}[0-9]\{0,1\}[0-9]/x.x.x.x/g"
但是
如果这些人认为有重要意义,那么构建一个更复杂的sed(我认为是级联的)就像
sed "s/.*/#&#/;s/\([^0-9.]\)\([012]\{0,1\}[0-9]\{0,1\}[0-9]\.\)\{3\}[12]\{0,1\}[0-9]\{0,1\}[0-9]\([^0-9.]\)/\1x.x.x.x\3/g;s/^#\(.*\)#$/\1/"
(仍然可能在255到300之间)