添加IP地址与更换IP地址(远程登录是改不了的)
[root@localhost ~]# vim huan
#!/bin/bash
read -p "Do you want to add or replace IP [add/rep] : " ar
if [ -n $ar ]
then
case $ar in
"add")
read -p "please input your IP address: " ip
read -p "please input your NETMASK : " net
read -p "please input your GATEWAY : " gat
read -p "please input your DNS : " dns
if [ -n $ip -a -n $net -a -n $gat -a -n $dns ]
then
sed "4s/dhcp/static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "6s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "15s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33
echo "IPADDR=$ip" >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo "NETMASK=$net" >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo "GATEWAY=$gat" >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo "DNS1=$dns" >> /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
fi
;;
"rep")
t=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "IPADDR" |cut -f 2 -d "=" )
u=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "NETMASK" |cut -f 2 -d "=" )
v=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "GATEWAY" |cut -f 2 -d "=" )
w=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "DNS1" |cut -f 2 -d "=" )
read -p "please input your IP address: " i
read -p "please input your NETMASK : " n
read -p "please input your GATEWAY : " g
read -p "please input your DNS : " d
if [ -n $i -a -n $n -a -n $g -a -n $d ]
then
sed "4s/dhcp/static/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "6s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "15s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "17s/IPADDR=$t/IPADDR=$i/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "18s/NETMASK=$u/NETMASK=$n/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "19s/GATEWAY=$v/GATEWAY=$g/g" /etc/sysconfig/network-scripts/ifcfg-ens33
sed "20s/DNS1=$w/GATEWAY=$d/g" /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
fi
;;
*)
echo "Your input is wrong"
;;
esac
fi
chmod 755 huan
定义:sed 是一种轻量级流编辑器,是Stream EDitor的缩写
作用:sed 替换字符串内容 对数据进行选取 替换 删除 新增
格式:sed [选项] '[动作]' 文件名
选项:-n 一般sed命令会把所有的数据都输出到屏幕,如果加入此选择
则只会把经过sed命令处理的行输出到屏幕
-e 允许对输入数据应用多条sed命令编辑
-i 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:
a 追加,在当前行后添加一行或者多行
c 行替换,用c后面的字符替换原数据行
i 插入,在当前行前插入一行或多行
d 删除,删除指定的行
p 打印,输出指定的行
s 字符替换,用一个字符串替换另一个字符串。格式为”行范围s/旧字符串/新字符串/g“(和vim中的替换格式类似)
行数据操作
sed '2p' student.txt # 查看文件的第二行 sed -n '2p' student.txt
sed [选项] '[动作]' 文件名
选项:
-n:一般 sed 命令会把所有数据都输出到屏幕,如果加入此选择则只会把经过 sed 命令处理的行输出到屏幕
-e:允许对输入数据应用多条 sed 命令编辑
-i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:
a:追加,在当前行后添加一行或多行
c:行替换,用 c 后面的字符串替原数据行
i:插入,在当期行前插入一行或多行。
d:删除,删除指定的行
p:打印,输出指定的行。
s:字串替换,用一个字符串替換另外一个字符串。格式为“行范围s/旧字串/新字串/g”(和 vim 中的替換格式类似)。
sed 是一种几乎包括在所有 UNIX 平台(包括 Linux)的轻量级流编辑器。sed 主要是用来将数据进行选取、替换、删除、新增的命令。
fdfdfdfffffff
动作参数:
-a -c -i -p -s
sed命令的初步使用.
选项参数:
-n
-e
-i
sed命令的作用
例子;查看文件第二行
$ sed -n '2p' test.txt
sed [选项] '[动作]' 文件名
选项:
-n:把进过sed处理的行输出到屏幕上,没加全部输出
-e:加了可以执行多条命令
-i:没加,执行临时修改,加了永久修改文件
动作:
-a:追加,在当前行后添加一行或多行
-c:行替换,用c后面的字符串替换原数据行
-i:插入,在当前行插入一行或多行。
-d:删除,删除指定的行
-p:打印,输出指定的行
-s:字符串替换,用一个字符串替换另外一个字符串。
格式为“行范围s/旧字符串/新字符串/g”
sed命令
sed是一种几乎包括在所有UNIX平台(包括Linux)的轻量级编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令
sed [选项] '[动作]' 文件名
选项:
-n 一般sed命令会把所有数据都输出到屏幕,如果加入次选择则只会把经过sed命令处理过的行到屏幕
-e 允许一次应用多个动作
-i 直接修改文件内容,并且不由屏幕输出
动作:
a 追加,在当前行后添加一行或多行
c 行替换,用c后面的字符串替换原数据行
i 插入,在当前行前插入一行或多行
d 删除指定行
p 打印,输出指定行
s 字串替换,用一个字符串替换一个字符串(替换格式与vim中的类似)。格式为"行范围s/旧字串/新字串/g"
举例:
sed '2p' student.txt #会把第二行显示,然后将所有内容显示
sed -n '2p' student.txt #查看文件的第二行
sed [选项] [动作] 文件名
sed基本选项
sed命令支持的动作
sed命令 不加-i只是临时修改,文件内容不变;加-i永久修改,文件内容改变
sed -n '2p' stdent.txt //打印student.txt第二行
sed命令
sed [选项] '[动作]' 文件名
选项:
-n 只输出经过sed处理过的行到屏幕
-e 允许一次应用多个动作
-i 直接修改文件,并且不由屏幕输出
动作:
a : 追加,在当前行后添加一行或多行
c : 行替换
i : 插入,在当前行前插入一行或多行
d:删除指定行
p : 打印,输出指定行
s : 字串替换(替换格式与vim中的类似) '行范围s/旧字串/新字串/g'
sed命令
sed [选项] '[动作]' 文件名
选项:
-n 只输出经过sed处理过的行到屏幕
-e 允许一次应用多个动作
-i 直接修改文件,并且不由屏幕输出
动作:
a : 追加,在当前行后添加一行或多行
c : 行替换
i : 插入,在当前行前插入一行或多行
d:删除指定行
p : 打印,输出指定行
s : 字串替换(替换格式与vim中的类似) '行范围s/旧字串/新字串/g'
sed命令动作
sed命令
sed命令
sed [选项] '[动作]' 文件名
选项:
-n 只输出经过sed处理过的行到屏幕
-e 允许一次应用多个动作
-i 直接修改文件,并且不由屏幕输出
动作:
a : 追加,在当前行后添加一行或多行
c : 行替换
i : 插入,在当前行前插入一行或多行
d:删除指定行
p : 打印,输出指定行
s : 字串替换(替换格式与vim中的类似) '行范围s/旧字串/新字串/g'
【字符替换命令sed】
sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。
sed 选项 '动作' 文件名
#''不能省略
选项
-n #一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕
-e #允许对输入数据应用多条sed命令编辑(多个动作)
-i #用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作
a #追加,在当前行后添加一行或多行
c #行替换,用c后面的字符串替换原数据行
i #插入,在当前行之前插入一行或多行
d #删除,删除指定的行
p #打印,输出指定的行
s #字符串替换,用一个字符串替换另外一个字符串。格式为"行范围s/旧字符串/新字符串/g"(和vim中的替换格式类似)
sed命令
sed命令
sed命令
sed命令意义