Replace 用sed HP-UX替换多个文件中的多个IP
谁能告诉我如何用一个命令批量替换多个文件中的IP?这个sed命令的作用是什么Replace 用sed HP-UX替换多个文件中的多个IP,replace,sed,ip,Replace,Sed,Ip,谁能告诉我如何用一个命令批量替换多个文件中的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' * 这里真的需要帮助。谢谢 此sed具有以下功能: s/pattern1/pattern2/g 将pattern1替换为pattern2 [0-9]\{1,3\}=0-9 \。表示单个点 因此理论上,这应该将所有文件中的所有IP更改为给定IPx.x.x.x *表示此文件夹
sed 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/x.x.x.x/g' *
这里真的需要帮助。谢谢 此sed具有以下功能:
s/pattern1/pattern2/g
将pattern1
替换为pattern2
[0-9]\{1,3\}
=0-9
\。
表示单个点
因此理论上,这应该将所有文件中的所有IP更改为给定IPx.x.x.x
*
表示此文件夹中的所有文件所以没有原始IP留下,所以小心这个 PS这不是100%工作。示例此编号
3452.343.13.34
(非IP)将更改为3x.x.x
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"
但是
(仍然可能是255到300之间的数字)它实际上似乎不起作用。我确实想替换文件夹中所有文件中的所有IP。IP实际上保持着机智,当我为x.x.x.x做grep时,我什么也得不到。谢谢你的回复!让我们看看你的意见。对于我的文件,它可以工作,这也是:
echo“test 10.5.2.20和另一个192.168.12.23”| sed的/[0-9]\{1,3\\.[0-9]\{1,3\\.[0-9]\{1,3\\.[0-9]\{1,3\}/x.x.x/g”test x.x.x.x.x.x.x和另一个x.x.x.x.x.x
很抱歉回复太晚,我正忙于其他事情。无论如何,没有输出。它只是“挂起”。顺便说一句,它也可以在Solaris10或11中运行吗?这种方法更有意义,但是像前面的方法一样,它也不起作用(0-9.[[012[0 0,1 1 1}[0-9[0,1 1 0 0,1 1[0,1 1 1 1 0 0 0-1[0-9[0-0-9[0-9 7 7 7 7.[3 7 7 7 7 7 7 7 7.//\55.[3.[3.[3.[3.[3.[3.////[3.[3.[3.[3.[3.[3]3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3.[3]3]3]3.[3.[3.[3.[3.[3.[3.[3.[3]]]3]3]3]3.[3.[3]3]3]]3]]3.[3.[3]]]未知#由DHCP添加顺便说一句,我在Solaris 10上运行了这个。只需在AIXont/etc/主机上进行测试,就可以了。所以可能需要设置一个sed选项(比如GNU版本中的--posix)。我用“[0-9]\{1,2\}”(两次在命令中)简单地表示“[0-9]\{0,1\}[0-9]”。
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/"