分类目录归档:Coding

【Shell】Shell编程之字符串操作 – Blog


Shell编程的字符串操作

  • 字符串的属性
    • 字符串的类型
    • 数字或字母组合
    • 字符组合
    • 字母和数字组合
    • 空格和tab键等
    • 匹配邮箱地址
    • 匹配URL地址
    • 判断字符串是否为可打印字符
    • 字符串的长度
    • 计算某个字符串的长度
    • 计算某些指定字符或字符组合的个数
    • 统计单词个数
  • 字符串的显示
    • 在屏幕控制字符显示位置、颜色、背景等
    • 在屏幕的某个位置动态显示系统时间
    • 过滤掉某些控制字符串
  • 字符串的存储
    • 把字符串拆分成字符串数组
  • 字符串常规操作
    • 取子串
    • 按照位置取子串
    • 匹配字符求子串
    • 查询子串
    • 查询子串在目标串中的位置
    • 查询子串,返回包含子串的行
    • 子串替换
    • 把变量var中的空格替换成下划线
    • 插入子串
    • 在va

Read more

【Shell】Shell编程中的数值运算 – Blog


shell数值运算

  • 整数运算
    • 对某个数加1
    • 从 1 加到某个数
    • 求模
    • 求幂
    • 进制转换
  • 浮点运算
    • 求1除以13保留3位有效数字
    • 求人均收入最高家庭
  • 随机数
    • 获取一组随机数
    • 随机产生一个0-255的数字
  • 其他运算
    • 获取一系列数值
    • 统计字符串中各单词出现的个数
    • 指定单词统计个数
  • 小结

整数运算

对某个数加1

```$ i=0;
$ i=0;
$ ((i++))
$ echo $i
1
$ let i++
$ echo $i
2
$ expr $i + 1
3
$ echo $i
2
$ echo $i 1 | awk '{printf $1+$2}'
3
说明

Read more

【shell】 awk + sort 按照数据中某列对数据进行排序


Shell 按照列对数据进行排序 元数据

GET //api/ 12 100.122.183.158
GET //api/ 11 100.122.183.158
GET //api/ 21 100.122.183.158
GET //api/ 21 100.122.183.158
GET //api/ 23 100.122.183.158
GET //api/ 2 100.122.183.158
GET //api/ 2 100.122.183.158
GET //api/ 26 100.122.183.158
GET //api/ 22 100.122.183.158
GET //api/

Read more

【Shell】Shell编程中的布尔运算


布尔运算

  • 常规的布尔运算
    • 在shell下如何进行逻辑运算
    • true or false
    • 与运算
    • 或运算
    • 非运算,取反
    • Bash中的true 和 false是我们通常认为的1和0么?
    • 返回值 VS 逻辑值
  • 条件测试
    • 条件测试的基本使用
    • 数值测试
    • 字符串测试‘
    • 文件测试
    • 各种逻辑测试的组合
    • 如果a,b,c都等于下面对应的值,那么打印yes,通过-a进行与测试
    • 测试某个"东西"是文件或者目录,通过-o进行或运算
    • 测试某个"东西"是否为文件,通过!非运算
    • 比较-a与&&,-o与||,!test与test!
    • 要求某个文件可执行且有内容,用-a和&&分别实现
    • 要求某个字

Read more

【Shell】通过shell脚本批量部署ssh私钥认证


通过shell脚本批量部署ssh私钥认证

批量管理服务器是个力气活,如果手动一台一台去搞,会很费劲。所有就会有saltstack,ansible,puppet这些批量管理工具

普通方法实现ssh免密登录

在登录机上生成公钥和私钥

$ ssh-keygen -t ras # 一路回车,在/root下生成一个.ssh的目录,这个目录里有id_rsa.pub(公钥文件),id_rsa(私钥文件)

把公钥拷贝到远程服务端

$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1 # 输入密码
$ ssh 192.168.1.1 # 就会发现就不用再输密

Read more

【Python】8个Python列表小技巧


原作者:Nik Piepenbreier

翻译&内容补充:乾峰

原文地址: https://towardsdatascience.com/advanced-python-list-techniques-c6195fa699a3

列表(List)是你使用Python过程中接触最为频繁的数据结构,也是功能最为强大的几种数据结构之一。Python列表非常的万能且蕴含着许多隐藏技巧,下面我们就来探索一些常用的列表技巧。


1 列表元素的过滤

1.1 filter()的使用

filter()函数接受2个参数:1个函数对象以及1个可迭代的对象,接下来我们定义1个函数然后对1个列表进行过滤

Read more

【Shell】备份某目录下的某些文件到对应的目录


项目需要将某目录中生成的AAAAAAA18112100018.rct文件进行定期备份,所以利用shell写了如下脚本:

  1. dir AAAAAAA18112100018.rct文件的所在目录
  2. back_dir 是备份时的备份目录,用日期进行单独存放
  3. logfile 为日志文件 在使用时按照实际情况将以上内容进行修改即可使用;
#!/bin/bash
# *.rct file backup
dir="/home/AAAAAAA/RCV"
back_dir="/home/AAAAAAA/BAK/$(date +%Y)/$(date +%m)/$(($(date 

Read more

【Python】理解yield关键字


Python 是非常灵活的语言,其中 yield 关键字是普遍容易困惑的概念。 此篇将介绍 yield 关键字,及其相关的概念。

迭代(iteration)与可迭代(iterable)

迭代是一种操作;可迭代是对象的一种特性。

很多数据都是「容器」;它们包含了很多其他类型的元素。实际使用容器时,我们常常需要逐个获取其中的元素。逐个获取元素的过程,就是「迭代」

# iterationa_list = [1, 2, 3]
for i in a_list:    
    print(i)

如果我们可以从一个对象中,逐个地获取元素,那么我们就说这个对象是「可迭代的」。

Python 中的顺

Read more

【Shell】利用Shell脚本检测域名证书过期时间


各位读者都是经常上网的人,当今社会我们可以暂时性没有很多东西,但是就是不能没有网络。否则的话可能会产生严重的焦虑,感觉自己突然就和社会脱节了。那么在访问各网站的时候,不知道你有没有注意几乎所有网站网址的开头都是 https:// 打头的,而不是 http:// 打头。为什么呢?因为 https 协议对比 http 协议而言安全性更有保证。防止你访问过程中产生的敏感信息被第三方人或组织非法获取到,并作他用。

实际中不管是个人,还是部门,还是一个公司,总不能每天都看看自家网站的 SSL 证书什么时候过期吧。即便每天看,只要是人执行那总有打盹的时候,那就会有疏漏,要是发生证书过期并且未及时更新新

Read more