Linux Shell 反写IP并保留最后两段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell 反写IP并保留最后两段相关的知识,希望对你有一定的参考价值。
我有一个shell是为了设置dns的,但里面有个反写,不知道shell如何变成。
例如:我输入 192。168。1。100
这个shell编程取最后一段是:100
取最后两段是:100。1
取最后三段是:100。1。168
全部反写是:100。1。168。192
请问Linux Shell编程高手:这种需求在shell里如何实现的?
echo "192.168.1.100" | awk -F"." 'print $4"."$3'
echo "192.168.1.100" | awk -F"." 'print $4"."$3"."$2'
echo "192.168.1.100" | awk -F"." 'print $4"."$4"."$2"."$1'本回答被提问者和网友采纳
Linux系统shell脚本之打印系统的IP信息
Linux系统shell脚本基础之打印系统的IP信息
一、脚本要求
1.显示服务器的运行状态,并输出提示
2.输出电脑的IP地址等信息
3.将执行输出的信息记录
二、脚本内容
[root@192 practice]# cat system_report.sh
#!/bin/bash
########################################
#Author:jeven
#time:Mon 30 May 2022 07:12:29 PM CST
#filename:system_report.sh
#Script description:
########################################
DATE=$(date '+%Y%m%H%M')
exec > /log/scripts/system.$DATE
#!/bin/bash
IP=`ifconfig ens33 | head -2 | tail -1 | awk 'print $2' `
ZW=` ifconfig ens33 | head -2 | tail -1 | awk 'print $4' `
GW=`route -n | grep "ens33" |awk 'print $2'|grep "192.168.3.*"`
HN=`hostname`
DNS=`grep "nameserver" /etc/resolv.conf |awk 'print $2'`
VERSION=$( cat /etc/os-release |grep "PRETTY_NAM")
echo '此机主机名是' $HN
echo '此主机的系统版本' $VERSION
echo '此机IP地址是' $IP
echo '此机子网掩码是' $ZW
echo '此机网关是' $GW
echo '此机DNS是' $DNS
ping -c 12 192.168.3.254 &> /dev/null
if [ $? = 0 ];then
echo -e '\\033[32m the system run normal!----------> [ok]\\033[0m'
else
echo "the syetem is network fault, please check!"
fi
三、执行脚本
[root@192 practice]# ./system_report.sh
[root@192 practice]# cat /log/scripts/system.2022051951
此机主机名是 192.168.3.146
此主机的系统版本 PRETTY_NAME="CentOS Linux 7 (Core)"
此机IP地址是 192.168.3.146
此机子网掩码是 255.255.255.0
此机网关是 192.168.3.254
此机DNS是 192.168.3.254
the system run normal!----------> [ok]
以上是关于Linux Shell 反写IP并保留最后两段的主要内容,如果未能解决你的问题,请参考以下文章
Linux shell 命令 :删除所有日志文件保留最新的 3 个文件