[工具] Shell 读取一个文件 (以行的方式)

介绍

作者:朱明宇
名称:读取 1 个文件(以行的方式)
作用:读取 1 个文件(以行的方式),并把里面的内容显示出来

使用方法:
1. 给此脚本添加执行权限
2. 执行此脚本,并在输入此命令时,在后面添加要被读取文件

脚本

#!/bin/bash

file=$1

if [[ $# -lt 1 ]];then
        echo "This file does not exist"
        exit
fi

while read line
do
        echo "$line"

done < "$file"

[内容] Python splite 字符串切割

内容一:splite 的格式

<character string>.splite('<separator>', <split several times>)[<which number of word place>]

内容二:splite 的使用案例

2.1 案例一:以一行行的方式进行分割

# string = string.splite('\n')

(补充:这里以给 string 字符串以一行行的方式进行分割为例)

2.2 案例二:制作表格

# string = string.splite('\t')

(补充:这里以给 string 字符串制成表格为例)

2.3 案例三:以空格的方式进行分割

# string = string.splite()

或者:

# string = string.splite(, -1)

(补充:这里以给 string 字符串以空格的方式进行分割为例)

2.4 案例四:以空格的方式进行分割,并截取第 1 个单词

# string = string.splite()[0]

(补充:这里以给 string 字符串以空格的方式进行分割,并截取第 1 个单词为例)

2.5 案例五:以空格的方式进行分割,并截取最后 1 个单词

# string = string.splite()[-1]

(补充:这里以给 string 字符串以空格的方式进行分割,并截取最后 1 个单词为例)

2.6 案例六:以字母进行分割

# splite = re.split(r"[^A-Za-z]", line.strip())

(补充:这里以给 string 字符串以字母的方式进行分割为例)

(注意:要先导入 re 函数)

2.7 案例七:以冒号 “:” 进行分割

# splite = string.splite(':')

(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割为例)

2.8 案例八:以冒号 “:” 进行分割,只分割 1 次,并从开头开始计数

# splite = string.splite(':', 1)

(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割,只分割 1 次,并从开头开始计数为例)

2.9 案例九:以冒号 “:” 进行分割,只分割 1 次,并从末尾开始计数

# splite = string.rsplite(':', 1)

(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割,只分割 1 次,并从末尾开始计数为例)

[工具] Python 截取某一个 Linux 命令所有行的第一列

介绍

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 用 python3 命令执行此脚本

脚本分割线里的变量

command=’df -h’ #要执行的 Linux 命令

脚本

import subprocess
  
####################### Separator ########################

command='df -h' #Linux command to execute

####################### Separator ########################

info = subprocess.check_output('%s'%command, shell=True)
info = info.decode().strip()

lines = info.split('\n')
for line in lines:

    word = line.split()[0]
    print(word)

[工具] Shell 批量重启多个远程服务器的服务

介绍

基本信息

作者:朱明宇
名称:批量重启多个远程服务器的服务
作用:批量重启多个远程服务器的服务

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

1. myuser=”eternalcenter” #登录远程服务器的用户
2. myserver=”192.168.1.1 192.168.1.2″ #要登录的远程服务器,以空格隔开
3. myservice=”nginx” #需要重启的服务,以空格隔开
4. mysudo=”no” #是否使用 sudo 提权,请选择 yes 或者 no

注意

1. 此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
2. 必须以 root 用户执行本脚本

脚本

#!/bin/bash

####################### Separator ########################

myuser="eternalcenter.com"
myserver="192.168.1.1 192.168.1.2 192.168.1.3" #each server is separated by a space
myservice="nginx" #each myservice is separated by a space
mysudo="yes" #please choose "yes" or "no"

####################### Separator ########################

mynow=`date +%Y-%m-%d-%H-%s`

if [ $mysudo == 'yes' ];then
        myrestart(){
                ssh -t $1@$2 "sudo -u root su - root -c \"systemctl restart $3\""
        }
        echo "use sudo"
fi

if [ $mysudo == 'no' ];then
        myrestart(){
                ssh -t $1@$2 "systemctl restart $3"
        }
        echo "don't use sudo"
fi

for services in $myservice
do

        for servers in `echo $myserver`
        do
                myrestart $myuser $servers $services
        done

done