将内部 IP 地址直接复制到剪贴板的脚本/命令

将内部 IP 地址直接复制到剪贴板的脚本/命令

我目前正在使用 ifconfig 的别名,iip="ifconfig | grep 'broadcast\|wlan\|eth0'"它只是向我显示包含以太网和无线网络适配器的 IP 地址的行。每次我需要内部/私有 IP 时,我都会运行这个简单的别名。但随后我必须手动复制 IP 地址。

是否有任何命令可以将内部/私有 IP 地址直接复制到剪贴板中以供使用(该命令将识别 IP 地址,其格式*.*.*.*为如果任何值为*255(网络掩码或广播地址),则不复制该模式,否则将图案复制到剪贴板)

编辑:我说的是内存中保存复制值的缓冲区

答案1

使用 sed 或 awk 等工具提取所需输出的部分。然后使用谢尔(pbcopy在 macOS 上)将其复制到剪贴板。

请注意,接口名称与 IP 地址不在同一行,因此过滤必须考虑多行。

ifconfig | awk '
    /^[^ ]/ {interface = $1}
    $1=="inet" && interface ~ /^(broadcast|wlan|eth0)$/ {sub(/^addr:/, "", $2); print $2}
' | xsel -b

答案2

您可以将输出放入文件中并使用命令行工具 xsel 共享终端和 GUI 剪贴板。您可以将其设置为一个脚本来为您完成工作。

http://www.vergenet.net/~conrad/software/xsel/

相关内容