Shell编程(三)grep sed awk文本处理三剑客

上一章:

Shell编程(二)_做测试的喵酱的博客-CSDN博客

一、ps命令

指令: ps
作用: 主要是查看服务器的进程信息
选项含义:
-e:等价于 ‘-A’ ,表示列出全部的进程
-f:显示全部的列(显示全字段) 


二、 grep (文本过滤)

grep主要用于过滤。对文本按行来过滤。如果某一行包含要搜索的关键字,则会把这一整行输出出来。

2.1 grep基础使用方法

查看grep 帮助文档 grep --help

[root@ecs-39233 chenshuai]# grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

grep应用的两种形式

形式一:对一个文件/多个文件,进行搜索。

grep [OPTION]... PATTERN [FILE1,FILE2 ... ]

[OPTION] 可选项,可填写以下内容 

PATTERN 关键字,被搜索的关键字。从文件FILE1 FILE2 搜索包含关键字 PATTERN 的行。

 形式二:执行命令时,在命令结果中搜索数据

some command | grep [option] pattern

[OPTION] 可选项,可填写以下内容 

PATTERN 关键字,被搜索的关键字。可以有没有引号,可以单引号,可以双引号。

如果没有引号,PATTERN 关键字中不能有空格。 

单引号,PATTERN 关键字中的变量不能解析,搜索的什么就是什么

双引号,可以解析PATTERN 关键字中的变量。

将一个命令(command)的输出,通过管道符|传给后面的grep命令。

在第一个命令的输出结果中,搜索关键字pattern

选项作用
-i忽略大小写
-c只输出匹配行的数量
-n显示行号
-r递归搜索
-E支持拓展正则表达式
-W匹配整个单词
-I只列出匹配的文件名
-F不支持正则,按字符串字面意思进行匹配

例子1

搜索在当前Linux系统中(/etc/passwd),是否存在某一个用户。

是否存在root用户

grep root /etc/passwd
[root@ecs-39233 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@ecs-39233 ~]# 

是否存在miao用户

[root@ecs-39233 ~]# grep miao /etc/passwd
[root@ecs-39233 ~]# 

例子2 

查看当前系统,java进程信息

ps -ef |grep java

查看tomcat进程信息

ps -ef |grep tomcat

例子3  忽略大小写 -i

忽略大小写 -i

grep 默认不忽略大小写。 grep -i 忽略大小写。

不忽略大小写

[root@ecs-39233 ~]# echo "Hello world" |grep hello
[root@ecs-39233 ~]# 

忽略大小写

[root@ecs-39233 ~]# echo "Hello world" |grep -i hello
Hello world

例子3  统计总数量 -c

统计总数量 -c

查看Linux用户文件。/etc/passwd

[root@ecs-39233 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

这种nologin结尾的用户,是没有登录权限的用户。

统计一下 /etc/passwd 中,有多少个用户没有登录权限。-c

[root@ecs-39233 ~]# grep -c "/sbin/nologin" /etc/passwd
16

例子4 搜索多个文件

1、搜索多个文件

在 test_while.sh test_read_n.sh 这两个文件中,搜索"/bin/bash" 字符串

[root@ecs-39233 ~]# grep "/bin/bash" test_while.sh test_read_n.sh
test_while.sh:#!/bin/bash
test_read_n.sh:#!/bin/bash

2、对目录进行过滤 -r

我想在/chenshuai 目下,对所有的文件进行搜索。搜索"/bin/bash" 字符串

grep -r "/bin/bash" /chenshuai
[root@ecs-39233 chenshuai]# grep -r "/bin/bash" /chenshuai
/chenshuai/study_shell.sh:#!/bin/bash
/chenshuai/until.sh:#!/bin/bash
/chenshuai/miao_test.sh:#!/bin/bash

3、过滤时,只打印文件名称。不打印命中的字符串 -l

grep -rl "/bin/bash" /chenshuai
/chenshuai/study_shell.sh
/chenshuai/until.sh
/chenshuai/miao_test.sh

例子5 过滤目标行的前后数据

显示目标行的后几行数据 -A

显示目标行的前几行数据-B

显示目标行的前后各几行数据 -C

查看grep 帮助文档

grep --help

查看grep帮助文档,中的-A 用法。("\-A" 转义)

grep --help | grep "\-A"
[root@ecs-39233 ~]# grep --help | grep "\-A"-A, --after-context=NUM   print NUM lines of trailing context

显示目标行的后几行数据(-A ,after)

查看-A 这一行,及后3行数据。

grep --help | grep -A3 "\-A"

 

查看- B这一行,及前4行的数据。

显示目标行的前后各几行数据 -C

查看目前行的前后各2行数据

grep --help|grep -C2 "\-C"

2.2 grep + 正则

2.2.1 基础正则

^ 以x开头$ 以x结尾.*[][^]

在文件中搜索,以"r"开头的字符串

grep '^r' /etc/passwd

2.2.2 扩展正则 grep -E 或者 egrep

扩展正则:(常用)

 {}()|+?

在 文件中,匹配手机号

grep -E '^1[3456789]\d{9}$' /etc/xxx.log
egrep '^1[3456789]\d{9}$' /etc/xxx.log

2.2.3  过滤多个关键字 

我想在文件中,搜索 文件中,包含-E -A -B 多个关键字的数据(这几个关键字是或的关系)

注意:

过滤多个关键字,需要使用正则中的管道符 | 表示或的关系

 正则中的管道符| ,属于扩展正则,需要使用grep -E 或者egrep

-E 需要转移 \-E

grep --help | egrep '\-E|\-A\-B'
grep --help | grep -E '\-E|\-A|\-B'

 2.3 grep 编写Shell 脚本

实现功能:

shell脚本,实现查看cpu 核数。

Linux知识小拓展:

使用top命令,查看linux信息。然后按1,顶部就会显示所有的cpu使用信息。

查看cpu的配置信息,

cat /proc/cpuinfo

里面,每一个核都有一个model name,所以统计cpu核数量,可以通过统计model name 文本数量实现。

grep -c "model name" /proc/cpuinfo


三、 sed (对文件进行增删改查处理)

sed全名叫stream editor,流编辑器。用无交互式的方式来编辑文本。

sed 编辑器没有破坏性,它不会修改文件,除非使用 shell 重定向来保存输出结果。默认情况下,所有的输出行都被打印到屏幕上。

 sed 工作过程 :
sed 编辑器逐行处理文件(或输入),并将输出结果发送到屏幕。sed 的命令就是在 vi和 ed/ex 编辑器中见到的那些。sed 把当前正在处理的行保存在一个临时缓存区中,这个缓存区称为模式空间或临时缓冲。sed 处理完模式空间中的行后(即在该行上执行 sed 命令后),就把改行发送到屏幕上(除非之前有命令删除这一行或取消打印操作)。sed 每处理完输入文件的最后一行后,sed 便结束运行。sed 把每一行都存在临时缓存区中,对这个副本进行编辑,所以不会修改或破坏源文件。
 

作用:

sed流编辑器,对文件进行增删改查的处理。

我们日常对文件进行处理,使用vim命令。但是在shell脚本中,不能使用vim处理文本,vim是一个交互式的命令,我们可以使用sed命令。

处理文本方式:

按照行来处理文本,与grep相似。

两种形式:

方式一:对文件进行处理

sed [option] "pattern command" file

[option] 可选的扩展项目,如-n -f -r等

pattern 要搜索的关键词。pattern 为空的话,默认是对每一行进行处理。

cmond 对命中的这一行数据,做何种处理。(处理命令)

file 文件路径

sed打印时,默认会把原数据打印出来。

方式二: 对命令的输出结果做处理

some command | sed [option] "pattern command"

 将一个命令command的输出结果,传给sed处理。

sed 在这个结果中,寻找匹配行,然后对这一匹配行进行处理。

选项作用
-n只打印模式匹配的行
-f加载存放动作的文件
-r支持拓展正则
-i支持修改文件

3.1 打印文件

sed 'p' /etc/passwd

没有搜索词,默认对每一行都处理。

'p' 打印命令,print简写 。

[root@ecs-39233 ~]# sed 'p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

发现,passwd文件中,每一行数据,都打印了两遍。因为sed打印了一遍原数据,还打印了一遍命中数据,所以打印了两遍。

-n 只打印模式匹配的行。(只打印1行)

sed -n 'p' /etc/passwd
[root@ecs-39233 ~]# sed -n 'p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

3.2 匹配词pattern 的四种类型

匹配模式含义
3只处理第3行
3,6只处理第3行到第6行
/pattern1/只处理能匹配pattern1的行
/pattern1/,/pattern2/只处理匹配pattern1的行到pattern2的行

command命令 

命令作用
查询 p打印
新增 aadd的缩写,在匹配行后新增

3.2.1 使用行号过滤,pattern 为行号

方式一:对文件进行操作

sed -n "第几行 操作命令" 文件路径

pattern 为具体的行号。

如,打印第3行内容

sed -n '3 p' /etc/passwd
[root@ecs-39233 ~]# sed -n '3 p' /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@ecs-39233 ~]# 

方式二 对一个命令的结果进行处理

cat /etc/passwd | sed -n '3 p'

对cat的运行结果,打印第3行的数据。 

[root@ecs-39233 ~]# cat /etc/passwd | sed -n '3 p'
daemon:x:2:2:daemon:/sbin:/sbin/nologin

对连续的行进行处理 'x,y command'

如,打印第4行到第8行的数据

sed -n '4,8 p' /etc/passwd
[root@ecs-39233 ~]# sed -n '4,8 p' /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@ecs-39233 ~]# 

3.2.2 使用正则过滤,pattern 为正则表达式

表达式:

sed -n '/正则表达式/ 操作命令' 文件路径 

举例,打印/etc/passwd 文件中,包含root的行

sed -n '/root/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/root/ p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

对所有s开头的行,进行打印 /^s p/

sed -n '/^s/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/^s/ p' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

遇到/要使用转义

如,打印包含  /sbin/nologin 的行,其中/ 需要进行转义

sed -n -e '/\/sbin\/nologin/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n -e '/\/sbin\/nologin/ p' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

 -r 支持拓展正则

sed 只默认只支持基本正则,拓展正则需要加-r

举例:

打印包含2个o的行,o{2}

sed -n -r '/o{2}/ p' /etc/passwd

[root@ecs-39233 ~]# sed -n -r '/o{2}/ p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

多个正则的使用,实现过滤以x行到y行的数据。

注意,这里的多个正则,不是或的关系,而是 x行到y行 的意思。

举例,我要过滤,以adm开头的行,到以mail开头行的数据

sed -n '/^adm/,/^mail/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/^adm/,/^mail/ p' /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

3.3 sed 修改文本

3.3.1 在目标行后写入内容 a (假修改,修改的内存)

模版:

sed  '/正则表达式/ a 新增内容' 文件路径 

a,append 追加

修改文本,只在当前输出的屏幕生效。 查看文本内容,实际并未做修改。

提前准备一个文件(如滕王阁序.txt)

vim 滕王阁序.txt
豫章故郡,洪都新府。星分翼轸,地接衡庐。襟三江而带五湖,控蛮荆而引瓯越。物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻。雄州雾列,俊采星驰。台隍枕夷夏之交,宾主尽东南之美。都督阎公之雅望,棨戟遥临;宇文新州之懿范,襜帷暂驻。十旬休假,胜友如云;千里逢迎,高朋满座。腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库。家君作宰,路出名区;童子何知,躬逢胜饯。时维九月,序属三秋。潦水尽而寒潭清,烟光凝而暮山紫。俨骖騑于上路,访风景于崇阿;临帝子之长洲,得天人之旧馆。层峦耸翠,上出重霄;飞阁流丹,下临无地。鹤汀凫渚,穷岛屿之萦回;桂殿兰宫,即冈峦之体势。披绣闼,俯雕甍,山原旷其盈视,川泽纡其骇瞩。闾阎扑地,钟鸣鼎食之家;舸舰弥津,青雀黄龙之舳。云销雨霁,彩彻区明。落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨;雁阵惊寒,声断衡阳之浦。遥襟甫畅,逸兴遄飞。爽籁发而清风生,纤歌凝而白云遏。睢园绿竹,气凌彭泽之樽;邺水朱华,光照临川之笔。四美具,二难并。穷睇眄于中天,极娱游于暇日。天高地迥,觉宇宙之无穷;兴尽悲来,识盈虚之有数。望长安于日下,目吴会于云间。地势极而南溟深,天柱高而北辰远。关山难越,谁悲失路之人?萍水相逢,尽是他乡之客。怀帝阍而不见,奉宣室以何年?

向文件内插入内容。

举例: 对包含 “时维九月” 这一行,后面进行追加一行内容。

sed '/时维九月/ a 作者:王勃' /chenshuai/滕王阁序.txt
[root@ecs-39233 chenshuai]# sed '/时维九月/ a 作者:王勃' /chenshuai/滕王阁序.txt
豫章故郡,洪都新府。星分翼轸,地接衡庐。襟三江而带五湖,控蛮荆而引瓯越。物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻。雄州雾列,俊采星驰。台隍枕夷夏之交,宾主尽东南之美。都督阎公之雅望,棨戟遥临;宇文新州之懿范,襜帷暂驻。十旬休假,胜友如云;千里逢迎,高朋满座。腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库。家君作宰,路出名区;童子何知,躬逢胜饯。时维九月,序属三秋。潦水尽而寒潭清,烟光凝而暮山紫。俨骖騑于上路,访风景于崇阿;临帝子之长洲,得天人之旧馆。层峦耸翠,上出重霄;飞阁流丹,下临无地。鹤汀凫渚,穷岛屿之萦回;桂殿兰宫,即冈峦之体势。
作者:王勃

使用cat命令,查看文本内容,实际并未修改。 

3.3.2 在目标行后,直接新增文本内容 -i a

 模版:

sed  -i '/正则表达式/ a 新增内容' 文件路径 

a,append 追加

真正修改文件内容。

举例:

在"落霞与孤鹜齐飞" 这一行后,追加一行备注

sed -i '/落霞与孤鹜齐飞/ a 备注:xxx' /chenshuai/滕王阁序.txt

查看文本内容,cat
真正增加了备注。

3.3.3  范围操作

对 x行到 y行的数据,进行操作

sed '/正则1匹配行/,/正则2匹配行/ a 新增备注' 文件路径 

举例:

对 时维九月 这一行,到 披绣闼 这一行 所有的行每一行,后面都新增一条数据。

sed '/时维九月/,/披绣闼/ a 新增备注zzzzz' /chenshuai/滕王阁序.txt 

3.3.4  在目标行前面增加内容 i

对某一行前面增加内容

 模版:

sed  '/正则表达式/ i 新增内容' 文件路径 

举例:

sed '3 i 在第3行前增加数据' /chenshuai/滕王阁序.txt

这里使用的不是正则,使用的是行号(第3行)

3.4 读取外部文件,作为内容,添加到目标文件

读取外部文件,作为内容,添加到目标文件。

 


四、 awk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69732.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 多线程基础 万字详解(通俗易懂)

目录 一、前言 二、定义 1.进程 : 2.线程 : 3.单线程与多线程 : 4.并发与并行 : 三、线程的创建 1.创建线程的两种基本方式 : 1 继承Thread类,并重写run方法 1.5 多线程的执行机制(重要) 2 实现Runnable接口,并重写run方法 2. 两种创建线程方式…

超算对我们的生活有着什么样的影响?

为什么各国都去抢超算的世界第一?因为它对人们的生活有着很大的影响。 一、核武器的成功研发离不开超算 对美国而言,超算的作用首先在研制核武器领域。加利福尼亚的利弗莫尔国家实验室、新墨西哥州的洛斯阿拉莫斯国家实验室、圣地亚国家实验室、橡树岭…

简单博客系统静态页面(html+css+JavaScript+第三方库Jquery mdn)

目录 一、基本构造 1、博客列表页 2、博客详情页 3、登录页 4、博客编辑页 二、文件目录 1、css 文件夹 blog_detail.css blog_edit.css blog_list.css common.css login.css 2、html 文件 blogDetail.html blogEdit.html blogList.html Login.html 3、image…

【创作赢红包】Python第3章 流程控制

这里写目录标题 【本章导读】真值测试比较运算成员运算for循环while循环项目实训1项目实训2项目实训3项目实训4:项目实训5:项目实训6:项目实训7:项目实训8项目实训9:项目实训10:项目实训11:项目实训12&…

06【Filter】

文章目录 06【Filter】一、过滤器简介1.1 Filter概述1.2 Filter的使用1.2.1 Filter快速体验1.2.2 XML配置Filter1.2.3 Filter的拦截规则 1.3 Filter的生命周期1.3.1 Filter生命周期介绍1.3.2 Filter生命周期相关方法1.3.3 FilterConfig类 1.4 Filter的拦截方式1.4.1 REQUEST1.4…

年度征文|一个业余电脑玩家的30年(1992-2022)

《论语为政》:“五十而知天命”。岁月真的是一把刀,一晃已过不惑之年,还有几天就要进入知非之年。不论知非还是知天命,反正是花甲将至而从心所欲了。年少时因某种不合机缘,错与IT界擦肩而过,每每想起就扼腕…

勾股定理·圓周率·無窮級數·微積分

勾股定理 勾股定理 圓 圓形的概念的形成,是人類認知歷史上的一大里程碑。 圓周率 定义1 一个圆形的周长与直径之比: 定义2 以圆形半径为边长作一正方形,然後把圆形面积和此正方形面积比。 圆与外接正方形 定义3 满足 的最小正实数。 ysin(x) …

谈古论津丨西沽公园

天津为退海之地,意思就是海面下降或者陆地上升形成的地理环境,现在塘沽、汉沽还有盐场,就在一定程度上说明了这一点。因此天津地势低洼,沽坑相连,素有七十二沽之说,所以天津的地名带“沽”字的也特别多&…

什么是事件响应策略?您知道如何起草一份吗?

如今,网络犯罪已在世界范围内变得越来越普遍,促使组织提前制定竞争策略来处理网络犯罪事件,减少业务停机风险并降低损失成本。因此,制定适当的事件响应策略或计划以应对网络攻击的影响并确保业务的平稳运行和业务数据的安全至关重…

美国空军停止使用【软盘】管理【核武器库】

平心而论,05后出生的,估计已经不知道软盘这个东西是什么了。 因此,为了缅怀历史,黑鸟还是想大概介绍一下,这个在当年被我拿来垫麻将桌的神器。 软盘,英文名Floppy Disk,是个人计算机&#xff08…

细菌拮抗作用在细菌生活中的核心作用

大多数细菌可能存在或至少有一部分时间处于单细胞状态。在这种单细胞状态下,细菌将更容易受到一系列威胁,包括其周围环境的物理或化学性质的简单波动,更容易受到更直接的生物威胁,如抗生素、噬菌体、拮抗细菌,甚至是捕…

中百信玄武库Kubernetes实践与探索

“Kubernetes其在自动化部署、扩展性、以及管理容器化的应用中已经体现出独特的优势,同样在企业中应用落地已经成为一种共识。中百信玄武库作为ToB服务产品,玄武库研究院在玄武库平台使用Kubernetes做了哪些实践和探索呢?我们今天和大家分享一…

微信论坛交流小程序系统毕业设计毕设(6)开题答辩PPT

整个项目包含了:开题报告 开题报告PPT 任务书 中期报告 论文模板 答辩PPT等 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的MINA框架;后台开发java的框架springboot、模板引擎 thymeleaf…

22、基于51单片机电压电流功率系统设计(程序+原理图+PCB图+Proteus仿真+答辩技巧+开题报告+参考论文+元器件清单等)

一、硬件方案 硬件组成:51系列单片机ADC0832按键LCD1602液晶LED设计而成。 二、设计功能 本设计基于单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。 1、本设计基于51单片机实现电流、电压测量和功率的计算,并通过按键设置报警…

有哪些可以投稿软件工程/系统软件/程序设计语言类外文期刊、会议?

如果你是第一次投外文期刊、会议,往往不知道应该投到哪些期刊杂志或会议上。不要着急,有下面几种投稿策略可以采用。 第一种策略,根据你的论文质量来选择期刊、会议。也就是说,如果对论文质量十分自信,那就选择顶级的期…

大学毕业设计这样做可以吗

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

springboot论坛交流小程序毕业设计毕设作品开题报告开题答辩PPT

springboot论坛交流小程序毕业设计毕设作品开题报告开题答辩PPT 【小程序用户功能】 用户注册登录:注册普通账号,然后使用注册的账号登录登录 微信授权登录:直接使用微信作为账号,授权后登录 资讯列表:用户可以任意浏…

用这个工具,发朋友圈都可以自动了

今天推荐是一个比较骚气的工具,自动发朋友圈(不用root手机),对于一天发10多条,甚至20条朋友圈的朋友,每次编辑比较麻烦。我之前也写过抢红包工具,当时上架应用市场时,又恰逢过年,那下载量&#…

如何选题、撰写微信小程序毕业论文,以及答辩流程?

一、开始准备选题 在大四上学期开学时,开始准备论文。首先需要确定论文主题,考虑自己想要做什么样的毕业设计。可以选择之前接触过或者做过的领域,这样可以更快地进展。如果选择了之前没有接触过的领域,一定要尽早开始准备。我打…

【毕业设计】7-基于STM32开发板的无线传输设计(原理图工程+源代码工程+答辩论文+答辩PPT)

【毕业设计】 基于STM32开发板的无线传输设计(原理图工程源代码工程答辩论文答辩PPT) 文章目录 【毕业设计】 基于STM32开发板的无线传输设计(原理图工程源代码工程答辩论文答辩PPT)资料下载链接任务书设计说明书摘要设计框架架构…