- 博客(18)
- 资源 (5)
- 收藏
- 关注
原创 Shell中去除字符串前后空格的方法
经常碰到的场景,需要去除字符串中的前后的空格。在Shell中不像其他语言有strip()来处理,不过也是可以使用诸如awk等命令来处理。 下面是一个简单示例:[root@localhost ~]# echo ' A B C ' | awk '{gsub(/^\s+|\s+$/, "");print}'^\s+ 匹配行首一个或多个空格 \s+$ ...
2019-01-31 21:40:48 44667 2
原创 Here document在回车键的处理技巧
碰到个实际场景: 挂载了几百块盘,需要对这几百块盘进行格式化处理,进行的都是同一个操作fdisk /dev/sdb,然后输入n,然后连续4个回车键,最后执行w(保存)设置操作。 上面的操作,比如获取所有几百块的硬盘符很好获取,并重定向到disk.txt文件中,这个时候借助于Here document来处理,可以很完美完成这个任务。 实际代码很简单# disk.txt/dev/sdab/d...
2019-01-31 21:19:08 436
原创 awk显示指定行到末尾行之间小技巧
使用awk来显示全部行,可以使用print $0来搞定,如果碰到要显示从第二行到第末尾的话,比如要显示/etc/passwd文件中,从第二列到第末尾的所有行,可以[root@localhost ~]# cat /etc/passwd | awk -F: 'print $2, $3, $4, $5, $6, $7'上面的是因为我们知道/etc/passwd就只有7行,可以一行行列出,如果是...
2019-01-27 22:20:02 8795 2
原创 Shell中在每个命令后添加日期的并定向指定文件的方法
有时候,在Shell脚本中,需要每个命令后添加日期的并定向指定文件,这个时候可以使用下面命令:[root@localhost ~] # vim script.sh#!/bin/bash{ pwd | tr '\n' '\t'; date; } > log.txt如果是遍历文件夹,在遍历出的每个文件夹后面添加时间,也可以这样写:#!/bin/bash{ for i i...
2019-01-27 21:51:39 2599
原创 Python中复制文件的两种简单方式
用Python拷贝文件的方式其实有很多,但个人觉得最简单、最直接的可能是这么两种:方法一:借助操作系统中本身的拷贝命令>>> import os>>> os.system("xcopy C:\\1.txt D:")C:\1.txt1 File(s) copied0方法二:借助shutil模块来完成拷贝操作>>> im...
2019-01-22 22:17:33 61409 2
原创 Python字符串通过+和join函数拼接新字符串的性能比较
有一道Python面试题, 以下代码有什么局限性,要如何修改def strTest(num): s = 'Hello' for i in range(num): s += 'x' return s上面的代码其实可以看出:由于变量str是不变对象,每次遍历,Python都会生成新的str对象来存储新的字符串,所以num越大,创建的str对象就越多,内...
2019-01-22 21:49:34 2937
原创 Shell中求字符串中单词的个数的几种方法
方法一:[linux@host ~]# echo 'one two three four five' | wc -w5方法二:[linux@host ~]# echo 'one two three four five' | awk '{print NF}'5方法三:[linux@host ~]# s='one two three four five' [linux@...
2019-01-21 21:19:12 4776 1
原创 Python两个字典键同值相加的几种方法
两个字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并这两个字典,键值同则相加。两个字典如果不考虑键相同则相加的话,可以使用d1.update(d2)可以很方便合并,但这样的后面的字典到中的值会覆盖字典d1中的值。>>> A = {'a': 1, 'b': 2}>>> B ...
2019-01-12 22:13:10 30823
原创 两个元祖T1=('a', 'b'), T2=('c', 'd'),使用匿名函数将其转变成[{'a': 'c'}, {'b': 'd'}]
一道Python面试题的几种解答: 两个元祖T1=('a', 'b'), T2=('c', 'd'),请使用匿名函数将其转变成[{'a': 'c'}, {'b': 'd'}]方法一:>>> T1 = ('a', 'b')>>> T2 = ('c', 'd')>>> list(map(lambda x:{x[0]:x[1]}, zi...
2019-01-12 21:33:35 521
原创 一条命令搞懂read命令中的常用参数
我们知道,在Shell中接收传入的参数有两种方式。一种是通过脚本进行参数传递,另外一种是通过read来接收传入的参数。通过脚本来传递参数的简单示例如下:# 通过脚本来传递,这里$0指脚本名,$1为第一个参数,$2为第二个参数[root@host ~]# ./script.sh 1 2Total = 3[root@host ~]# vim script.sh#!/bin/bash...
2019-01-11 21:42:52 1699
原创 Shell批量创建指定文件名脚本
假如要在/mydir目录下创建20个文件,文件格式如下:test_abcde_20190108_01.txt test_bcdef_20190108_02.txt test_booke_20190108_03.txt 第一个都是test开头,第二个是5位随机小数,第三个是年月日,第四个是01这样的有序数,最后是.txt的后缀。创建脚本如下:#!/bin/bashP...
2019-01-09 21:59:28 4423
原创 Linux设置每个进程打开文件数目
每个进程打开文件数目,默认为1024。要设置这个设置,可以临时性修改,或者永久性修改。临时性修改当次有效,再次登录生效。 永久修改是修改配置文件。临时性修改 [root@host ~]# ulimit -n 30665永久性修改[root@host ~]# vim /etc/security/limits.conf* soft nofile 30665* hard nofi...
2019-01-09 21:28:51 1750
原创 用egrep的-P参数来匹配日期
我们知道,sed, grep,awk都支持正则表达式,但支持力度显然没有Perl这样语言强。 有的时候如果对字符串来匹配其中的日期,可能会找不到,这个时候使用-P参数可能会收到很好的效果。比如:10101010222222_a_b_20190108102030_1234.zip这样的文件,前面数字有14位,其中日期也是14位,如果使用\d{14}会匹配出两个,而且grep还不支持\d格式要写成...
2019-01-09 20:47:46 1653
原创 Python小进度条显示代码
有的时候程序需要有进度条显示,比如说安装程序、下载文件等场合。 下面有一段小程序可达到效果 程序代码import timefor i in range(0, 101, 2): time.sleep(0.3) num = i // 2 if i == 100: process = "\r[%3s%%]: |%-50s|\n" % (i, '|' *...
2019-01-05 11:33:10 766
原创 Shell中如何获取文件指定行
比如要获取/etc/passwd文件, 要获取其第6-10行,并显示每行的行号。总结一下,方法有很多,行号的显示可以借助cat -n参数,或者sed =来显示。 小结一下,可以有以下方法来获取。 # 1). -n显示行号,tail -n +6显示第6行之后的行,结合head -n 5,获取前面5行,刚好6-10$ cat -n /etc/passwd | tail -n +6 | head...
2019-01-04 21:22:08 29336
原创 辗转相除法在求最大公约数的一个妙用
题目: 根据用户输入两个整数m, n; Python写代码求他们的最大公约数。先来看下一些基本概念,比如什么是最大公约数,什么是辗转相除法。 最大公约数最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a, b)。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。基本概念几个整数中公有的约数,叫做这...
2019-01-02 21:07:39 756
原创 DELL服务器如何配置RAID
名词解释DG(Disk Group) 磁盘组,这里相当于阵列,例如配置了一个RAID5,就是一个磁盘组 VD(Virtual Disk) 虚拟磁盘,虚拟磁盘可以不使用阵列的全部容量,也就是说一个磁盘组可以分为多个VD PD(Physical Disk) 物理磁盘 HS(Hot Space) 热备 Mgmt: 管理P...
2019-01-01 18:10:28 16908 3
原创 列表中的append,extend,+=,+的区别
先来看列表中的append和extend的帮助文档>>> help(list.append) # 往列表末尾添加对象Help on method_descriptor:append(...) L.append(object) -> None -- append object to end>>> help(list.ex...
2019-01-01 15:48:58 2931
Clean Code-代码整洁之道 中文完整版清晰版
2014-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人