在端口 0 中将 0 替换为 1000 并在以下行中增加 +1

穆罕默德·伊利亚斯

我想从 1000 开始增加端口号。我知道如何在使用此命令为它们分配编号时使所有端口为 0

sed 's/port [0-9]\{1,5\}/port 0/g'

但不知道如何做相反的事情。我必须在多个脚本文件中的 2k 行中更改它。

  • 这就是我所拥有的
    local-ip 155.165.170.10 port 0 remote-ip 155.16.241.11 port 3869 
    local-ip 155.165.170.10 port 0 remote-ip 155.16.241.11 port 3869
    local-ip 155.165.170.10 port 0 remote-ip 155.16.241.11 port 3869
    local-ip 155.165.170.10 port 0 remote-ip 155.16.241.11 port 3869
    
  • 所需的输出如下所示:
    local-ip 155.165.170.10 port 1000 remote-ip 155.16.241.11 port 3869
    local-ip 155.165.170.10 port 1001 remote-ip 155.16.241.11 port 3869
    local-ip 155.165.170.10 port 1002 remote-ip 155.16.241.11 port 3869
    local-ip 155.165.170.10 port 1003 remote-ip 155.16.241.11 port 3869
    
来宾_7
k=1000
m=$(echo "$k\\";printf '%s' {0..9})

sed -En "
  1{x;s/.*/$m/;x;}

  /local-ip/!{p;d;}
  G
  s/(port )0( .*)\n(.*)\n.*/\1\3\2/
  p;g;trst;:rst

  # port+1
  s/([0-8])(\n.*\1(.))/\3\2/;h;t
  s/(9+)\n/_&/
  :a;s/(_9*)9(0*\n)/\10\2/;ta
  s/^_/0&/
  s/(.)_(0+\n.*\1(.))/\3\2/
  h
"  file

输出:

local-ip 155.165.170.10 port 1000 remote-ip 155.16.241.11 port 3869 
local-ip 155.165.170.10 port 1001 remote-ip 155.16.241.11 port 3869
local-ip 155.165.170.10 port 1002 remote-ip 155.16.241.11 port 3869
local-ip 155.165.170.10 port 1003 remote-ip 155.16.241.11 port 3869

对于增量 1,我们必须处理两件事。lsd 是非 9 还是连续的 9。如果是前者,我们只需将 lsd 替换为其下一个更高的数字。在后者的情况下,我们将所有 lsd 9s 更改为 0s,并用下一个更高的数字替换邻居。然后重新存储以备下一次迭代

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否需要在LINQ中将1替换为0?

列表中将0替换为01,将1替换为10 [int]

在R中将(0,1,0,0,1,1,1)转换为(0,0,0,1,0,1,2)

除以0后,在numpy数组中将NaN替换为0

在流中将0替换为1(反之亦然)的最快方法是什么?

在 r 中的一列列表中的所有列表中将 numeric(0) 替换为 NA

在java中将0x1转换为1

在Python中将列表中的前20个元素替换为0

在pyspark数据帧中,如何在左联接操作的输出中将空值替换为0?

在python中将Yes转换为1并将No转换为0

如何在动态数据透视表中将NULL替换为0并在SQL 2012中计算累加

随机选择列中的 x(x 是固定的) 值并在 pyspark 数据框中将其替换为 0

使用Python在文本中将“ \ x”替换为“ 0x”

无法使用Pandas在Python中将0替换为nan

在SQL Server查询中将NULL替换为0

在数据框Python熊猫中将0替换为空白

MySQL:在GROUP_CONCAT中将null替换为0

SQL:在每月计数表中将NULL替换为0

在 Power BI 中将是/否列转换为 1/0

如何在r中将数据框中的记录转换为0和1?

R:如何清除所有NaN值并在复杂的函数/ R文件中将其替换为0

Tensorflow 2.0,将张量中的0值替换为1s

如何将C#excel导出中的复选框替换为1和0?

大型数据集的列中的NaN更快地将-1和0替换为

根据列将多个无标题列中的值替换为0、1、2

如果大于0,则将CHARINDEX返回数字替换为1。

对所有列求和,将0替换为1

根据NaN将列值替换为0或1

如何将P替换为1并将A替换为0