自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杰瑞的专栏

架构师、脚本语言专家;精通Python、Shell、正则表达式;熟悉Java、C、Tcl、Ruby、Scala、Perl等多种编程语言;在性能,开源,自动化测试方面有非常丰富的经验

  • 博客(622)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux中不生成.swp文件的设置

使用vi/vim编辑文件的时候,默认会产生.swp临时性文件。有的时候需要借助这些文件来恢复源文件,比如编辑文件突然掉电,源文件未保存。[root@local ~]# ls # .script.sh.swp临时性文件含中断前编辑的内容script.sh .script.sh.swp[root@local ~]# vi -r script.sh # ...

2018-11-29 22:48:34 2704

原创 Python中使用filter去除列表中值为假及空字符串

在 Python中,认为以下值为假:None       # None值 False       # False值 0              # 数值零不管它是int,float还是complex类型 '',(),[]        # 任何一个空的序列 {}             # 空的集合 如果一个列表中含上面值为假的元素,要去除的话,可以使用内置函数的filter默认的...

2018-11-29 22:35:06 9962

原创 使用functools模块将多行文本转为一行

假如有一个文本文件var.py,要将其多行转变成一行,并以某个分隔符分开。JerryAliceDavidWendy要转变成诸如下面的字符串。'Jerry|Alice|David|Wendy|'一个简单的处理方式,就是使用functools和operator模块来处理。 >>> import functools,operator>>&...

2018-11-25 20:28:42 415

原创 HP-UX中bash安装

等安装了HP-UX,才发现其默认使用的shell是POSIX shell,也就是/usr/bin/sh,并且提供了ksh和csh,但就是不提供bash。想自动补齐都不行,要想使用熟悉的bash只能自己安装。因为软件依存关系的原因,需要安装4个包,分别是:gettext libiconv termcap bash前面三个是依赖包,安装完了上面三个包之后,再安装bash。下载地址: h...

2018-11-24 17:42:04 1322

原创 Python中continue和break的区别

要搞清楚两者的区别,先来看简单示例# break语句>>> for i in range(10):... if i == 5: # 条件满足,终止循环... break... print("i = %d" % i)i = 0i = 1i = 2i = 3i = 4# continue语句>&g...

2018-11-24 10:59:06 2222 1

原创 Python中嵌套for循环的一个问题

这个序列处理中的很基础但又很重要的问题,比如说, 从第一个列表中找第二个列表中存在的项items = [(1,2), 3, "book", 3.14]tests = [100, (1,2)]通常做法>>> items = [(1,2), 3, "book", 3.14]>>> tests = [100, (1,2)]>>&gt

2018-11-21 22:10:05 5642

原创 Python中显示可迭代对象的两种方法

在Python3.*中,为了性能考虑,很多迭代的对象不会一次行显示,比如说下面示例>>> range(10)range(0, 10)>>> map(ord,"ABCD")<map object at 0x0000000001E88F60>>>> zip(("A","B"),(1, 2

2018-11-21 21:25:17 1892

原创 crontab中如何设置每30秒执行一次任务

crontab任务配置基本格式:*   *  *  *  *  command第1列表示分钟0~59 每分钟用*或者 */1表示第2列表示小时0~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0,7都可表示星期天)第6列要运行的命令综合起来就是: 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期...

2018-11-21 21:09:05 57493

原创 Python中判断对象是否可迭代

可使用collections模块的Iterable类型来判断对象是否可迭代>>> from collections import Iterable>>> isinstance(1, Iterable)False>>> isinstance("ABCD", Iterable)True>>> isinstanc

2018-11-21 20:50:34 1131

原创 Python中常见的命名惯例

变量命名,除了字符为[0-9,A-Z,a-z,_]及不用关键字作变量之外,模块名小写外,还有以下被Python遵循的惯例。 _通过交互式模式运行时,会保留最后的结果 >>> for _ in range(5):... print(_)...01234>>> _4>>>备注: 使用"_"在for循环中经...

2018-11-18 19:05:51 369

原创 Python的三元表达式

其他语言的三元表达式result = 判定条件? 为真时的结果:为假时的结果# 示例:result = 5>3? 1:0 # 条件为真是result赋值为1,条件为假时赋值为0 Python中的三元表达式result = 为真时的结果 if 判断条件 else 为假时的结果# 示例:>>> x = 1>>&g...

2018-11-17 12:35:36 26870 4

原创 将众多文件均分到不同目录下小shell脚本

假设将某个目录下的所有文件,转移拷贝到三个不同的目录下。可用小脚本来实现#!/bin/bashcount=0source_dir='/var/log/'all_files=$(find $source_dir | grep 'web*.log') # 将所有的web.*.log找出来target_dir1='/tmp/dir1'target_dir2='/tmp/dir2'...

2018-11-16 21:05:00 3432 3

原创 HP-UX对/tmp目录扩容的方法及步骤

很多集群,或服务等都需要/tmp空间有一定空间,比如说安装oracle数据库,就需要/tmp空间至少1G,少于1G自检就通不过。要扩大/tmp,首先要找到这个系统所对应的逻辑卷,只有首先扩大逻辑卷,给文件系统以扩大的空间,才能扩大文件系统。步骤一: 查看vg空间,查看free的空间# vgdisplay -v | more 步骤二 : 检查文件系统如果文件系统...

2018-11-15 22:39:07 1729

原创 awk中分隔符中的一个小妙用

处理文本的时候如果碰到,诸如"123abc,45^&dfgh67ab|&8"这种以所有非数字的来隔开数字的字符串,要得出数字字符串的个数。其中连续的数字,比如123算一个。这个时候可以借助awk中的-F分隔符来处理,可以起到妙用的效果![root@host ~]# echo "123abc,45^&dfgh67ab|&8" | awk -F"[^0-9]"...

2018-11-15 22:14:46 554

原创 查看Python中的彩蛋、关键字及其他

Python中"彩蛋",是Python之禅著名的格言:优美胜于丑陋 明了胜于晦涩 简洁胜于复杂 复杂胜于凌乱 扁平胜于嵌套使用import this就可以看到这个彩蛋>>> import thisThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is bette...

2018-11-14 22:45:21 514

原创 Shell中按月打包日志小脚本

Linux中的各种Web,数据库,各种服务经常会按日产生大量日志。运维的时候经常要做的就是按月来压缩、归档。UserWeb.log.2011-1-1UserWeb.log.2011-1-2...UserWeb.log.2011-2-1UserWeb.log.2011-2-2...UserWeb.log.2011-3-1UserWeb.log.2011-3-2...User...

2018-11-14 21:57:43 1615

原创 Python中的增强赋值语句及其作用

Python中的增强赋值语句,从C中借鉴而来,从Python 2.0开始出现。普通赋值语句>>> X = 100>>> Y = 200>>> X = X + Y>>> X300>>> a = "Hello">>> b

2018-11-12 22:32:38 2680

原创 Shell中过滤某些文件不删的小tips

有时候某一目录下,需要保留某些文件或目录不删,其余的都删除,可以使用下面的语句[root@host ~]# touch file{1..10}[root@host ~]# mkdir -p D1/D2/D3[root@host ~]# ls file1file2file3file4D1file5file6file7file8file9file10[root@hos...

2018-11-12 22:11:08 778

原创 Python中sys.path.append和os.environ["PATH"]及export PATH几者区别

sys.path.append sys.path其实是Python的搜索路径集>>> import sys>>> sys.path['', 'C:\\Python\\python36.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 'C:\\Python', 'C:\\Python\\lib\\sit...

2018-11-11 18:07:24 13326 2

原创 Shell中将分隔符的字符串转为数组的几种方法

要将字符串列表转变为数组,只需要在前面加(),所以关键是将分隔符转变为空格分隔,常用有下面几种方法 方法一: 借助于{str//,/}来处理 [root@host ~]# str="ONE,TWO,THREE,FOUR"[root@host ~]# arr=(${str//,/})[root@host ~]# echo ${arr[@]}ONE TWO THREE FOUR...

2018-11-10 17:08:52 58704 1

原创 Shell中字符串比较忽略大小写的问题

两个字符串,要比较忽略大小写后是否相等的问题,可以有很多种方法。方法一: 借助tr命令来处理#!/bin/bashname1="TOm"name2="tom"temp1=$(echo $name1 | tr [a-z] [A-Z]) # 将name1全部转变成大写再做比较temp2=$(echo $name2 | tr [a-z] [A-Z]) # 将name2全部...

2018-11-08 22:28:06 18923 4

原创 通过/proc/net/dev文件来网卡流量进行监控,统计

/proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空间和用户间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只...

2018-11-07 22:41:11 4634 1

原创 对一道Shell题的理解

题目: 下面的语句z的值为多少,为什么? x=100y=xz=${!y}echo ${z}要理解上面的语句,关键在于${!y}! 在shell是执行的意思!command 代表执行后面的命令比如说:!pwd 则代表执行后面的pwd命令!18 则代表执行history中第18条命令!! 则代表执行history中最后一条命令!ls* ...

2018-11-07 21:47:23 177

原创 awk直接对源文件进行修改

awk一般不能通过诸如下面的方式来处理[root@host ~]# awk '{print $0}' data > data上面的处理源文件data中就是空文件。方法之一就是:[root@host ~]# awk '{print $0 > "data"}' data备注:  文件名用""来引以来...

2018-11-07 21:35:06 12091 1

原创 Python中借助字典的方式来动态赋值

同样的的场景,比如要动态给100个button同时赋值,比如:button_1=101button_2=102button_3_103......button_9=109一般的处理方法好像不行,反复尝试了,发现可以使用字典的方式来完成。方法一:>>> D = {}>>> for i in range(1,5):... D[...

2018-11-05 22:41:40 7435

原创 Shell中的多变量动态赋值问题

实际文本处理的时候会碰到多个变量,动态赋值的问题。比如说在遍历1到100的数字,将其动态赋值给var_1=1var_2=2var_3=3......var_100=100如果按常规的话,是赋值不成功,这个时候要借助declare和export来完成 借助declare来完成 #!/bin/bashfor i in $(seq 1 100)do declar...

2018-11-05 22:28:44 6994

原创 Shell关键字如何重定向输出

以time为示例来说明Shell关键字如何重定向输出。经常碰到这样一种场景,需要使用time来测试一条命令执行多少时间,并将其结果重定向到某个日志文件中。 time的输出信息是打印在标准错误输出上的。time的输出信息重定向到文件里面,因为time是shell的关键字,shell做了特殊处理,它会把time命令后面的命令行作为一个整体来进行处理,在重定向时,time命令本身的输出并不会被重定向的。...

2018-11-05 22:19:30 623

原创 Python中多目标赋值及共享引用的问题

多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象。 >>> a = b = c = "spam" # 将字符串"spam"同时赋值给a,b,c>>> a,b,c('spam', 'spam', 'spam')>>>上面的语句相当于下面的简单赋值>>> c = &qu

2018-11-03 10:17:48 1578

原创 Python3中的扩展序列解包

在Python中的一般的赋值语句格式如下:>>> spam = 'Spam' # 基本赋值形式>>> spam, ham = 'Spam', 'Hum' # 元祖赋值形式>>> [spam, ham] = ['Spam', 'Hum'] # 列表赋值形式>>> a...

2018-11-03 09:28:34 517

原创 Python中的enumerate函数介绍

enumerate英文翻译为枚举的意思。 可以将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。 语法 >>> help(enumerate)Help on class enumerate in module __builtin__:class en...

2018-10-31 22:13:10 16607 1

原创 Python计算两个日期之间天数

有的时候要统计两个日期之间的相距天数,可能有很多种方法,但使用datetime模块的datetime方法无疑是里面比较简单的,具体代码如下:>>> import datetime>>> d1 = datetime.datetime(2018,10,31) # 第一个日期>>> d2 = datetime.datetime(2019...

2018-10-31 21:24:30 64658

原创 Python中的struct模块简单介绍

struct模块能够构造并解析打包的二进制数据。 从某种意义来说,它是一个数据转换工具,它能够把文件中的字符串解读为二进制数据。 简单用法如下: 用struct来打包 >>> import struct>>> F = open("data.bin", "wb") # 打开文件供写>>> data

2018-10-30 21:43:48 738

原创 Python中的pickle模块简单介绍

使用eval可以把字符串转换成对象,它是一个功能强大的工具。比如:>>> eval("1+1") # 将字符对象直接运算,得出运算结果2>>> eval("[1, 2, 3]") # 将字符串对象转变成列表对象[1, 2, 3]>>> eval("{'a': 1

2018-10-30 21:17:36 984

原创 Shell中查看空行行号的几种方法

有一道运维题,说在Linux下使用什么命令来查看空行的行号,能想到的使用三剑客(grep,awk,sed)命令来处理方法一: 使用grep命令来处理[root@host ~]# grep -n '^$' data # ^$ 代表空行,-n打印出行号方法二: 使用awk命令来处理[root@host ~]# awk '/^$/{print NR}' dat...

2018-10-20 12:08:17 5280

原创 Python中的itertools.imap与map的性能方面的对比

先来理解看下一段代码:>>> import itertools>>> for i in itertools.imap(lambda x,y:x*y, [10,20,30], itertools.count(1)):... print(i)...104090>>>第一段好理解,一个匿名函数,传递两个参数,返回两个参...

2018-10-20 11:46:01 3077 1

原创 Python的布尔型

Python的布尔型,也就是bool原本是一个数字,因为它有两个值True和False,不过是整数1和0以不同形式显示后的定制版本而已。如今Python正式地有了一种明确的布尔型数据类型,叫做bool,其值为True和False,并且其值True和False是预先定义的内置变量名。在内部,新的变量名True和False是bool的实例。实际上仅仅是内置的整数类型int的子类。 True和Fal...

2018-10-02 15:31:10 3868

原创 Python中集合基础知识

集合是Python2.4开始引入的一种新的类型,是唯一的、不可变的对象的一个无序集合。这些对象支持与数学集合理论相对应的操作。根据定义,一个项在集合中只能出现一次,不管将它添加多少次。同样,集合有着广泛的应用,尤其是在涉及数字和数据库的工作中。 常用表达式:>>> x = set("abcde") # 集合定义>&g...

2018-10-02 12:14:24 636

原创 Python中小数数字

Python2.4开始引入一种新的核心数据类型:小数对象。 比其他数据类型复杂一些,小数是通过通过一个导入的模块调用函数后创建,而不是通过运行常量表示式来创建。从功能上来说,小数对象就像浮点数,只不过它们有固定的位数和小数点,因此小数是有固定的精度的浮点数。使用了小数对象,我们能够使用一个只保留两位小数位精度的浮点数。此外,我们能够定义如何省略和截断额外的小数数字。尽管它对平常的浮点数类型来说...

2018-10-01 19:31:52 4241

原创 Python进制数字中位操作

除了一般数字运算,Python也支持C语言中的大多数数学表达式。这包括那些把整数当作二进制位串对待的操作。还可以实现卫衣和布尔操作:>>> X = 1 # 0001>>> X << 2 # 左移两位,成了0100,即44>>> X | 2 # 异或(0001 | 0010), 即33...

2018-10-01 17:34:06 1844

原创 Python中求数字的平方根和平方的几种方法

方法一: 使用内置模块>>> import math>>> math.pow(12, 2) # 求平方144.0>>> math.sqrt(144) # 求平方根12.0>>>方法二: 使用表达式>>> 12 ** 2 # 求平

2018-10-01 17:03:33 97186 4

Perl Cookbook

Perl Cookbook, 学习Perl非常宝贵的经典!

2014-03-29

ASE_config_guide_unix

本文档用于UNIX下,Sybase Adaptation Server的安装,配置,管理。

2014-02-17

Clean Code-代码整洁之道 中文完整版清晰版

本书提出一个概念:代码的质量与其整洁度成反比。干净的代码,在质量上较为可靠,在维护上比较方便。作为编程领域内的佼佼者,作者给出了一系列行之有效的整洁代码操作实践。 本书阅读对象为一切有志于改善代码质量的程序员及技术经理。

2014-02-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除