自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 SQL实现排列组合功能

SQL实现排列组合功能昨天朋友发给我一个sql编程题目:大概意思就是随机选择几个人使得总分最接近某个值,这不正是数学中学习过的排列组合中的组合吗?排列组合中A(15,3)表示排列,从15个中有序抽取3个,所以一共有15*14*13种排列结果,123、132、213、231、312、321表示6种不同的结果排列组合中C(15,3)表示组合,从15个中无序选择3个,所以一共有(15*14*13)/(3*2*1)种组合结果,123、132、213、231、312、321表示同一种结果大概思路:如果使用

2021-12-29 14:11:02 4687 2

原创 linux之文件分割split命令详解

linux之文件分割split命令详解进行文件分割时我们需要考虑几个问题:如何分割?是按行分割还是按文件大小分割?是每100行分成一个文件还是每100K分成一个文件?分割以后子文件名称是什么格式的?split命令格式:split + 参数 + 要分割的文件 + 分割后子文件前缀例如:split -a3 -l 100 -d /test/logs.txt /test/logs/log.参数:参数解释-a后缀长度,例如-a3表示后缀长度为3-l按照行数将文件分割成

2021-12-28 14:43:10 9561

原创 linux之循环控制for、while、until命令详解

linux之循环控制for、while、until命令详解循环控制的命令主要有for、while,until命令用的也相对较少。一、for命令for命令的写法主要有以下两种格式:格式1:for i in {1..5}do echo "this is $i"done格式2:for((i=1;i<10;i++ ))do echo "this is $i"done格式1是for 变量 in 序列,之前说过4中生成序列的方式在这里均可使用传送门:l

2021-12-09 15:46:21 6827

原创 linux之字符转换tr命令详解

linux之字符转换tr命令详解tr - translate or delete characterstr是用来转换或者删除某些字符,只能从标准输入中获取参数,不能从命令行获取参数,所以tr命令常与管道符结合使用。注意:tr命令是对单个字符的处理,可以将一个字符替换为另一个字符,不能对一个字符串替换为另一个字符串【1】tr基本的写法tr写法:cat b.txt | tr 'abc' 'ABC'将a替换为A,b替换为B,c替换为Ctr后跟两个字符集合:set1和set2,将set1中的字

2021-12-08 15:16:55 1386

原创 linux之条件判断if命令详解

linux之条件判断if命令详解if命令用于分支判断,有其固定的写法,与c语言等其他编程语言的条件判断逻辑一致,只是写法上稍微有点差别。if命令的写法:if 判断条件;then command1elif 判断条件;then command2else command3fi因为多个命令写在同一行需要用分号分开,其实也可以这样写:if 判断条件then command1elif 判断条件then command2else command3fi其中判断条件可以是[ ]、[

2021-12-08 10:36:49 13146

原创 linux之${ }、[ ]、$( )、$[ ]、$(( ))、[[ ]]、(( ))的作用

linux常用符号1、\${ }与\$2、[ ]与test3、$()和``4、\$[ ]和\$(( ))5、[[ ]]6、(( ))1、${ }与$$与${ }都是用来引用变量的,只不过${ }可以指定变量边界,也可用于对字符串变量进行截取等处理,具体用法可参考如下bloglinux之${}符号详解2、[ ]与test[ ]是test命令的另一种形式,用于判断某个表达式的返回值是0或者非0,常用于if命令的判断条件test $a == "linux" 等于 [ $a == "linux" ]

2021-12-07 17:39:27 10836 4

原创 linux之生成序列seq、{}等四种方式

linux之生成序列seq、{}等四种方式在使用循环for的时候in后面常常跟一个序列,例如for i in seq 3;do echo idonefor命令会遍历列表中的值,然后赋值给变量$i,这里介绍几种生成列表的方式【1】seq:sequence序列[root@linuxforliuhj test]# seq 9123456789[root@linuxforliuhj test]# seq 1 9123456789[root@linuxforli

2021-12-03 10:57:33 2408

原创 linux之awk命令格式化输出(printf)使用技巧

linux之awk命令格式化输出(printf)使用技巧在使用awk命令的过程中输出的每一列总是对不齐,看着很乱,如下:[root@linuxforliuhj ~]# awk -F ":" '/sbin:/{print $1,$4,$5,$7}' /etc/passwd daemon 2 daemon /sbin/nologinsync 0 sync /bin/syncshutdown 0 shutdown /sbin/shutdownhalt 0 halt /sbin/halt如果我

2021-12-01 15:07:54 7161

原创 linux三剑客之awk命令详解

linux三剑客之awk命令详解awk 是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等。awk工具主要用于格式化输出,可以用类似于处理表格的方式处理文本,也就是说可以将文本处理成表格的格式,包含行和列,然后可以执行打印某些行、打印某些列、删除某些行、删除某些列等操作。awk与grep、sed一样均支持从管道符接受标准输入和从命令行接受参数,awk同样也支持正则表达式。awk 处理的工作方式与数据库类似,支持对记录(行)和字段(列)处理,这也是 grep

2021-12-01 10:21:31 5697 1

原创 linux之${}符号详解

linux之${}符号详解${ }通常用于划定变量名的边界,例如[root@linuxforliuhj ~]# a=java[root@linuxforliuhj ~]# aa=linux[root@linuxforliuhj ~]# echo "$aa"linux[root@linuxforliuhj ~]# echo "${a}a"javaa[root@linuxforliuhj ~]# echo "$a"java[root@linuxforliuhj ~]# 当执行echo

2021-11-30 10:21:53 9711

原创 linux之定时任务crontab命令

linux之定时任务crontab命令使用命令crontab -e默认编辑当前用户的定时任务使用命令crontab -l查看当前用户的定时任务使用命令crontab -e -u user1编辑user1用户的定时任务使用命令crontab -l -u user1查看user1用户的定时任务定时任务的格式 * * * * * command例如:32 9 * * * sh /home/hadoop101/test.sh表示每个月的每一天的9点32分执行一次test.sh脚本Example of

2021-11-26 15:43:14 417

原创 Linux之重定向符号

Linux之重定向符号【1】标准输入、标准输出和标准错误文件描述符(fd):文件描述符是一个非负整数,在打开现存文件或新建文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来访问文件。文件描述符描述映射关系0标准输入,键盘/dev/stdin -> /proc/self/fd/01标准输出,屏幕/dev/stdout -> /proc/self/fd/12标准错误,屏幕/dev/stderr -> /proc/self/fd/

2021-11-26 11:58:20 4260

原创 linux之grep命令练习题

传送门:linux三剑客之grep命令详解【1】输出 b 文件中在 a 文件相同的行grep -f a b【2】输出 b 文件中在 a 文件不同的行grep -v -f a b【3】 匹配多个模式echo "a bc de" |xargs -n1 |grep -e 'a' -e 'bc'【4】去除空格 http.conf 文件空行或开头#号的行grep -E -v "^$|^#" /etc/httpd/conf/httpd.conf【5】 匹配开头不分大小写的单词echo "A a b

2021-11-25 17:52:42 995 1

原创 Excel之vlookup函数

Excel之vlookup函数vlookup函数是寻找函数,可以跨sheet页,跨文件寻找。vlookup函数的用法:=VLOOKUP(A2,学生成绩!A:B,1,0)vlookup一共4个参数:A2 : 想要查找的值学生成绩!A:B : 查找的范围,也就是说在学生成绩sheet页的A、B列里查找A2的值1 : 第三个参数表示如果查找到了,返回查找到的行的第几列。例如A2的值在学生成绩的AB列查找到以后,则返回学生成绩AB列的第一列,即A列0 : 第四个参数表示精确查询是模糊查询,0表示精

2021-11-24 10:42:26 918

原创 linux三剑客之sed命令详解

linux三剑客之sed命令详解上篇文章讲的是文本过滤工具grep linux三剑客之grep命令详解,今天继续讲一下linux三剑客之文本编辑工具sed。sed 是一种新型的,非交互式的编辑器,它能执行与编辑器 vi 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。sed 编辑器没有破坏性,它不会修改源文件,而是将源文件拷贝一份放在操作空间中,然后对操作空间中的副本进行操作,可以使用重定向符号将结果输出到指定文件或者使用-i参数

2021-11-23 14:55:02 995 3

原创 CSDN如何导出为pdf文档?

CSDN如何导出为pdf文档?【1】打开要打印的csdn文章【2】按F12进入浏览器调试模式在小箭头处粘贴以下三个代码中的任意一个并回车(可以每一个都尝试一下,总有一个适合你):(function(){ 'use strict'; var articleBox = $("div.article_content"); articleBox.removeAttr("style"); $("#btn-readmore").parent().remove(); $("#side").remov

2021-11-22 16:57:44 6029 9

原创 linux三剑客之grep命令详解

linux三剑客之grep命令详解grep是对文本进行过滤的工具,以行为单位,grep支持管道符,之前文章说过,从管道符接受的数据为标准输入,所以grep支持从标准输入或者命令行获取参数,例如cat a.txt | grep 'hello'与 grep 'hello' a.txt都是可以的。...

2021-11-16 17:41:47 1753

原创 linux之扩展正则表达式

linux之扩展正则表达式前面文章说过基础的正则表达式,这里讲一下扩展的正则表达式1.首先说一下包含转义的正则包含转义的正则解释\{m,n\}匹配前一个字符m到n次\{m\}匹配字符m 次\+匹配前一个字符1次或者多次,最少一次\?重复前一个字符0次或者1次\|同时过滤多个字符\(\)分组过滤被括起来的字符\>精确匹配结尾\<精确匹配开头准备测试文件[root@linuxforliuhj test]# c

2021-11-16 17:31:29 765

原创 python实现定时自动发送qq消息

python实现定时自动发送qq消息或者微信消息工具:

2021-11-10 23:03:46 10985 13

原创 linux之基础正则表达式

linux之基础正则表达式正则表达式是为处理大量文本或者字符串而定义的一套规则,一般只有三剑客(grep、sed、awk)支持,正则表达式分基本正则和扩展正则说白了就是用几个符号替换一部分文本,例如有两行:hello javahello linux这两行的共同点就是有hello,所以我们可以用 ^hello 或者 hello.* 来表示这两行,在这里 ^hello 或者 hello.* 就是正则表达式,正则表达式本身也是字符串,用一个字符串表示一堆字符串,这就是正则表达式的用处很多人会问

2021-11-09 17:15:20 248

原创 linux之find命令

linux之find命令find命令用于搜索文件或者目录,find命令的参数特别多,我们只列举常用的:参数解释-name以文件或者目录名称搜索-user以文件所属用户搜索-type限制文件类型,f为文件,d为文件夹-maxdepth最大搜索深度[root@linuxforliuhj test]# lltotal 0-rw-r--r--. 1 root root 0 Nov 3 00:10 Alis.txt-rw-r--r--

2021-11-03 16:35:09 1042

原创 linux之通配符详解

linux之通配符通配符常用于文件和目录,一般与find命令结合使用通配符解释*匹配任意长度字符?匹配任意一个字符[abcd]匹配abcd中的一个字符[a-z]匹配a-z中任意一个字符[!abcd]不匹配括号中的任意一个字符[^a-z]不匹配a-z中任意一个字符[root@linuxforliuhj test]# lltotal 0-rw-r--r--. 1 root root 0 Nov 3 00:09 alis.txt-rw

2021-11-03 15:23:53 2336

原创 linux之通配符[a-z]为什么会匹配出大写字母

linux之通配符[a-z]为什么会匹配出大写字母先看现象:[root@linuxforliuhj test]# lltotal 0-rw-r--r--. 1 root root 0 Nov 2 18:52 a-rw-r--r--. 1 root root 0 Nov 2 18:52 A-rw-r--r--. 1 root root 0 Nov 2 18:52 b-rw-r--r--. 1 root root 0 Nov 2 18:52 B-rw-r--r--. 1 root roo

2021-11-03 14:34:50 843

原创 linux之xargs命令

linux之xargs命令前面文章专门介绍管道符时候提到过,一般情况下,处理文本的命令和工具均支持管道符,像rm、kill等命令则不支持管道符。但是有时候我们想要管道符支持这些命令,例如执行 ls *.sh | rm -rf 找出所有.sh类型的文件并且删除 ps -ef | grep "hello.sh" | awk '{print $2}' | kill 杀死包含"hello.sh"进程实际上这些命令都是无法执行的,这时候就需要用到xargs命令与管道结合使用才能实现。xargs的作用是接收

2021-10-29 13:27:33 512

原创 linux之管道符详解

linux之管道符 ’ | ’ 操作详解管道符主要用于多重命令处理,前面命令的标准输出作为后面命令的标准输入。简单点说就是,就像工厂的流水线一样,进行完一道工序后,继续传送给下一道工序处理…举个栗子:对如下文件进行排序去重以后找出包含"better"的行[root@linuxforliuhj test]# cat hello.sh hello this is linuxbe betterbe betteri am lhjhello this is linuxi am lhji am

2021-10-28 17:25:30 19536 6

原创 linux之去重uniq命令详解

linux之去重uniq命令详解uniq是对文本文件进行行去去重的工具。以行为单位,进行行与行之间的字符串比较并进行去重只能对有序的文本行进行有效去重,所以常与sort命令结合使用参数解释-c统计行出现的次数-d只显示重复的行并且去重-u只显示唯一的行-i忽略字母大小写-f忽略前N个字段(字段间用空白字符分隔)1.与sort结合使用准备文件[root@linuxforliuhj test]# cat hello.sh hello

2021-10-28 10:03:43 14494

原创 linux之test命令详解

linux之test命令详解test作用检查某个条件是否成立,返回值为0(真)或者其他值(假),可通过echo $?查看返回值,也常用于循环和条件语句。test一般有三种用法:测试文件或者文件夹字符串比较数值比较1.测试文件或者文件夹参数说明-e当路径存在时返回真-f当路径存在且为文件时返回真-d当路径存在且为文件夹时返回真[root@linuxforliuhj test]# lltotal 20-rw-r--r--. 1 root root

2021-10-27 17:28:38 8188

原创 linux之排序sort命令详解

linux之排序sort命令sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。sort可针对文本文件的内容,以行为单位来排序。1. 简单排序[root@linuxforliuhj test]# cat test.txt aaa:cdebbb:dseccc:123abc:rewacb:1we111:fdf222:esa333:iud[root@linuxforliuhj test]# sort test.txt

2021-10-26 15:02:57 13011 2

原创 shell 将大文件平均分割成指定数量的小文件

shell 将大文件平均分割成指定数量的小文件1.假设有大文件hello.csv,先查看大文件行数file_rows=wc -l hello.csv|awk '{print 1}'选取wc命令打印结果的第一列,即行数。2.假设要平均分割成10个小文件file_num=103.生成总行数file_num_row=$((${file_rows} + 9))解释一下为什么要加9,因为行数可能是33333行,除以10的话每个文件就是3333行,就丢失了3行,所以加上(文件数-1)行可以保证行不

2021-04-14 16:00:35 3003 2

原创 sql substring_index()根据指定字符分割字符串

Python 数据类型转换int(x,base=10)将x转换成int类型,x必须是数字,例如“python”转换成int会报错;base是可选项,表示进制,可省略,默认为10进制。>>> a="10086">>> print(type(a))<class 'str'>>>> b=int(a)>>> print(type(b))<class 'int'>>>> c=int(

2021-03-26 11:48:28 1078 1

原创 Linux中expect的使用以及timeout参数的设置

Linux中expect的使用以及timeout参数的设置先上一段expect的shell代码(连接一个数据库执行命令),照骡子画马大家总该会吧:/usr/bin/expect <<!set timeout 600spawn /home/gis/bin-install/pgsql11.6/bin/psql -h 172.30.190.54 -p 5432 -d gis -U gis expect "*Password*"send "gis1001A!\n"expect "gis=#

2021-03-26 10:09:55 3760

原创 python 的open()函数简单用法

python 的open()函数简单用法st=open(r'C:\Users\Administrator\Desktop\python\demo1.txt','a+')print('你好,请问你是张飞嘛',file=st)st.close()注意事项open函数有两个参数,第一个路径,第二个写入方式,默认为只读。路径是字符串的形式,前面加r避免转义或者把“\”全部改成“\”。print的时候需要加上file=st,不然写不进去。使用open函数的时候如果文件不存在,则自动创建文件,例如d

2021-03-25 15:31:19 599 1

原创 SQL判断语句(case when,if,ifnulll)

SQL判断语句(case when,if)1.case when2.if目的:将班级为‘04921601’的班级名修改为‘11111111’1.case when第一种方法第二种方法2.ifIF(exp1,exp2,exp3)exp1-判断条件exp2-条件为真时的结果exp3-条件为假时的结果...

2020-08-14 09:43:24 1978

原创 sum()窗口函数的累加求和出错细节

关于SQL窗口函数中sum 累计求和的错误细节出错案例:按行累加(rows)和按值累加(range)注意:总结:出错案例:近期在学习SQL的窗口函数的时候,用sum对成绩进行累计求和出现错误,具体如下:从图中可以看出按照合计成绩进行排序后进行成绩的累加,但是相同的成绩并没有实现行的累加。为什么会出现这样的错误呢?请继续看按行累加(rows)和按值累加(range)按行累加:每一行都产生一个累计结果这里显示声明行的范围:rows BETWEEN unbounded preceding and

2020-08-03 17:52:35 3006

原创 简单易懂的SQL的窗口函数-案例清晰

SQL的窗口函数-简单易上手窗口函数的概念及作用举个例子:查看每一个班级的总分数。窗口函数语法(很简单哦)常用的窗口函数(也很简单哦)1.排序函数2.偏移函数3.聚合函数4.分布函数窗口函数的概念及作用窗口函数是分析函数,聚合函数是统计函数。普通常用的聚合函数只能返回一个值,而窗口函数每一行都能返回一个值。举个例子:查看每一个班级的总分数。首先表结构大概为这个样子:普通的聚合函数实现为:而窗口函数的实现为:通过这两种情况的比较,可以看出来:1. 普通的聚合函数侧重于统计出结果,假如你

2020-08-01 19:40:33 3107

原创 超详细的十大排序算法原理及java代码实现

超详细的十大排序算法原理及java代码实现1.直接插入排序2.折半插入排序(基于折半查找法,即二分查找法)3.希尔排序4.冒泡排序5.快速排序6.选择排序7.归并排序8.堆排序9.计数排序10.桶排序11.基数排序效率比较:注意:代码大同小异,最好自己理解了思想后自己写一遍1.直接插入排序顾名思义就是从数组中一个一个取元素,然后一个一个插入形成有序序列。比如说一个int型无序数组,从小到大排...

2020-03-10 14:00:09 1069

空空如也

空空如也

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

TA关注的人

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