如何更换特定线路的IP

如何更换特定线路的IP

我有一个文件(.htaccess),其中包含以下摘录。

<Files wp-login.php>
order deny,allow
deny from all
allow from 45.152.35.2
</Files>

我需要更换45.152.35.2为我当前的IP。但45.152.35.2并不是静态的。我需要在allow from该行找到 IP 表达式并将其替换为我当前的 IP。

我还需要75.152.35.4w命令获取我当前的 IP ( ):

12:13:07 up 21 days,  3:01,  1 user,  load average: 0.18, 0.13, 0.12
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    75.152.35.4      14:29    0.00s  0.10s  0.00s w

如何从w命令获取当前 IP 并替换文件allow from中的行.htaccess

答案1

你可以使用这个:

sed -i "s/allow from [0-9,\.]*/allow from $(w -h | awk '{print $3}' | head -1)/g" .htaccess

解释:

  • sed -i "s/.../$(...)/g .htaccess: 将allow from行替换为
  • w -h | awk '{print $3}' | head -1:输出的第一行w

相关内容