![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell脚本
文章平均质量分 63
优秀的邓宗磊
这是一个优秀的人呢
展开
-
Shell脚本,awk使用if,for进行流程控制
Shell脚本,awk流程控制,支持for,if等一、单分支if判断1、awk ‘{指令}’ dirawk -F: ‘BEGIN{x=0} {if($3>=1000){i++}}END{print i}’ /etc/passwd统计文件中uid大于等于1000的内容的数量。2、awk -F: ‘{if($1==“root”){print $1,$3}}’ /etc/passwdawk风格与编程语言相似,常量使用双引号,而不可以使用单引号或者反引号二、多分支if判断1、双分支if…e原创 2022-02-02 21:30:40 · 5186 阅读 · 1 评论 -
Shell脚本,awk条件判断与逻辑比较&&,||
Shell脚本,awk条件判断if与逻辑比较&&,||O、条件判断解决的一些问题:1、输出所有行还是部分行,2、输出行的部分数据内容,3、设置多个条件语法:awk [选项]’[条件]{指令}’ dir条件可以填写:正则表达式,数值/字符比较,逻辑比较一、正则~匹配,!~不匹配1、awk ‘/^ro/{print $1,$7}’ dir以:为分割符,打印文件中包含以ro开头的内容行的第一列和第七列2、awk -F: ‘$7!~/bash$/{print $1,$7}’原创 2022-02-02 21:07:28 · 5801 阅读 · 0 评论 -
Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0
Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0O、、awk执行命令的时机,1、所有行前BEGIN{},2、逐行{},3、所有行后END{},4、三个时机可单独或组合使用,空格不敏感一、所有行前处理,BEGIN{}读入第一行文本之前的处理,一般用来做初始化,行号NR算第0行1、awk 'BEGIN{a=10;print a+10}'2、awk 'BEGIN{a=10;b=20;pr原创 2022-02-02 20:44:15 · 1839 阅读 · 0 评论 -
Shell脚本,awk编程语言,awk科普,awk语法,风格,awk的print功能,列数$num
Shell脚本,awk编程语言,awk科普,awk特点和作用O、介绍awk1、基于模式匹配检查输入文本,逐行处理并输出2、通常用于在shell脚本中,获取指定的数据3、单独使用时,可以对文本数据做统计一、awk不同与sed和grep的地方1、grep的作用是从文件中过滤并显示出指定内容的内容行。2、sed除了可以从文件中过滤出指定内容的内容行,还能对文件的行数据进行非交互式编辑和其他操作。3、awk用于对指定文件的数据进行分列,区别与以行作为数据单位,awk可以将内容按照规则分列,并对逐列的原创 2022-02-02 20:12:47 · 5132 阅读 · 1 评论 -
Shell脚本,正则符号()的保留功能,将内容复制并使用\数字进行内容访问
Shell脚本,正则符号()的保留功能,将内容复制并使用\数字进行内容访问正则符号()具有“保留”的功能,就是将内容复制过来,可用于粘贴比如:echo “hello world” | sed -r 's/^(.)(.)(.)$/\3\2\1/’第一个(.)会匹配到h并保留匹配的这个内容,第二个(.)应该会匹配到ello world,但是因为后面第三个(.)保留了一个字符内容,所以第二个(.*)只会匹配到ello worl并将这部分内容保留,第三个(.)会匹配到结尾处的前一个字符,就是最后的d,并原创 2022-02-01 20:56:21 · 474 阅读 · 0 评论 -
Shell脚本,sed多行文本处理:i插入,a追加,r读取导入,w另存导出
Shell脚本,sed多行文本处理:i插入,a追加,r读取导入,w另存导出sed多行文本处理:O、常用指令1、i(insert)插入2、a(append)追加3、r(read)读取文件|导入文件内容4、w(write)文件另存为|导出文件内容一、i(insert)插入,将指定内容放到指定文件指定行的上一行,有-i才可以将改变写入文件1、sed ‘2i XXX’ dir在第二行的前面插入XXX,原先的第二行以及后面的内容行数全部+1,现在的第二行为插入的内容XXX2、sed ‘/2046原创 2022-02-01 20:52:47 · 7982 阅读 · 0 评论 -
Shell脚本,sed常见执行命令: p:打印行,d:删除行,c:替换行,s:替换关键字,=:打印行号,-i将改变写入文件
Shell脚本,sed常见执行命令: p(print):打印行 d(delete):删除行 c(replace):替换行 s(substitution):替换关键字,=:打印行号,-i将改变写入文件O、sed常见执行命令:p(print):打印行d(delete):删除行c(replace):替换行s(substitution):替换关键字=:打印行号一、p(Print)的用法:1、sed -n ‘1,3p’ dir打印指定文件的第1到3行2、sed -n ‘1,3!p’ dir打印原创 2022-02-01 20:34:47 · 4315 阅读 · 0 评论 -
Shell脚本,流式编辑器sed,sed科普,sed数据定位,使用sed根据行号合正则定位文件中的内容
Shell脚本,流式编辑器sed,sed科普,使用sed根据行号合正则定位文件中的内容,stream Editor:流式编辑器O、特点:1、非交互式2、逐行处理3、可以对文本进行增删改查等。一、区别于vim,vim是交互式编辑器,sed是非交互式的,1、vim对文件的编辑,需要vim打开文件,切换模式,输入内容,保存退出,对文件的改动全程需要用户进行信息交换,是交互式的文本编辑工具。2、sed对文件的编辑,需要输入sed命令,在命令中确认需要编辑的内容合操作,执行命令就可以完成对文件的修改,原创 2022-02-01 20:08:36 · 1109 阅读 · 0 评论 -
Shell脚本,正则表达式,对字符集的模糊概括,配合过滤grep使用,二、扩展正则表达式,使用grep -E 正则符号,三、grep -P 用于使用Perl正则符号
Shell脚本,正则表达式,对字符集的模糊概括,配合过滤grep使用,二、扩展正则表达式,使用grep -E 正则符号二、扩展正则符号:grep需要有参数 -E才能支持扩展正则符号1、+ 匹配前面的字符至少一次grep -E “[a-z]+” dir查询a-z2、? 匹配前面的字符0或1次grep -E “s?bin” dir查询sbin或者bin,?表示前面的字符可以有也可以没有3、() 组合与保留,| 或者grep -E “(root|daemon)” dir查询roo原创 2022-01-29 22:10:49 · 1077 阅读 · 0 评论 -
Shell脚本,正则表达式,对字符集的模糊概括,配合过滤grep使用,一、一般正则表达式,正则符号
Shell脚本,正则表达式,对字符集的模糊概括,配合过滤grep使用,一、一般正则表达式,正则符号正则表达式时对字符集的模糊概括,常用于与grep配合使用查询字符串。模糊查询可以理解为:需要查找一个字符串,但忘了字符串的具体信息,记得是a开头,v结尾的一段字符,因此查找所有以a开头v结尾的字符串。O、正则表达式有三个部分,用正则符号区分1、一般正则表达式,直接使用grep 正则符号2、扩展正则表达式,使用grep -E 正则符号3、Perl正则表达式,使用grep -P 正则符号一、一般正则原创 2022-01-29 22:00:35 · 1461 阅读 · 0 评论 -
Shell脚本,字符串处理,变量默认初始化,批量修改当前文件夹下指定后缀对象的后缀
Shell脚本,字符串处理,变量默认初始化,批量修改当前文件夹下指定后缀对象的后缀O、字符串处理,包括1、字符串截取2、字符串替换3、字符串掐头4、字符串去尾一、字符串截取字符串本身没有变化0、使用#查看变量长度echo ${#name}语法:${变量:起始位置:长度}phone=1234567891、编号从0开始,取得字符串从起始位置开始echo ${phone:0:3}2、如果没有长度选项,默认是截取到变量字符串尾echo ${phone:3}3、如果长度是负值,原创 2022-01-29 13:35:54 · 1478 阅读 · 0 评论 -
Shell脚本,shell脚本中的中断与退出,continue,break,exit
Shell脚本,shell脚本中的中断与退出,continue,break,exit1、continue结束单次循环当i的值等于3时,continue结束了本次循环,没有打印3,而是继续下去,打印4,5,并继续执行后面的语句,打印over2、break结束循环体当i的值等于3时,break结束了整个循环,没有打印3,也没有继续打印后面的4,5,并继续执行后面的语句,打印over3、exit退出脚本当i的值等于3时,exit退出了当前脚本,没有打印3,也没有继续打印后面的4,5,没有执行后面的原创 2022-01-29 12:04:52 · 12082 阅读 · 0 评论 -
Shell脚本,shell文件中定义和调用函数,使用shell函数实现输出指定颜色的文本
Shell脚本,shell文件中定义和调用函数1、shell函数:给某一段代码取一个名称,后面通过名称调用这一段函数。2、语法:function 函数名{命令序列}或者:函数名(){命令序列}例如,此处声明shell函数:imsg(){echo “hello world”echo “hahaha”}此处调用shell函数:imsg3、函数支持参数,同样使用位置参数$1,$2表示参数iShow(){echo “$1”echo “$2”}4、好用的例子:echo原创 2022-01-29 11:47:44 · 860 阅读 · 0 评论 -
Shell脚本,case语句多分支判断,检查判断变量的取值,使用wait等待脚本进程,使用kill杀脚本最后一个进程
Shell脚本,case语句多分支判断,检查判断变量的取值,使用wait等待脚本进程,使用kill杀脚本最后一个进程O、1、效果类似于多分支的语句2、如果与预设的值相等,则执行相应的动作3、命令序列最后必须以双分号结尾4、最后的默认命令序列不是必须加双分号的,可有可无,效果一样5、像极了编程语言里面的switch case语句。一、case语法:case 变量 in模式1)命令序列1;;模式2)命令序列2;;…*)默认命令序列esac例如:read -p “INPUT A原创 2022-01-28 23:25:27 · 986 阅读 · 0 评论 -
Shell脚本,循环语句用于减少程序代码冗余和重复,for语句,while语句,使用let进行变量自增
Shell脚本,循环语句用于减少程序代码冗余和重复,for语句,while语句一、for语法:1、for 变量 in 值列表do命令序列done例子:输出循环中的所有值for i in 1 8 ab 99 qqdoecho “I am $i”done或者:for i in {1…10}doecho “I am $i”done或者:for i in $(ls)doecho “I am $i”done2、for ((初值;条件;步长))do命令序列don原创 2022-01-28 22:31:57 · 1149 阅读 · 0 评论 -
Shell脚本,shell中的条件测试,通过判断if语句使shell脚本智能化
Shell脚本,shell中的条件测试,通过判断if语句使shell脚本智能化条件测试语法,if后面怎么填?一、字符串比较语法:1、是否为空[ -z 字符串 ]-z前面,-z和字符串中间,字符串后面必须至少各有一个空格判断字符串是否为空,只需要进行[ -z string ]echo $?例如判断当前用户:[ $USER == root ]echo $?可以判断当前用户是不是肉体,是的话会打印出0,不是的话会打印出非02、等于[ 字符串1 == 字符串2 ][后面,==两边,]前原创 2022-01-28 22:12:56 · 810 阅读 · 0 评论 -
Shell脚本,shell中的变量运算,echo的扩展用法,-e添加字体颜色
Shell脚本,shell中的变量运算,echo的扩展用法,-e添加字体颜色零散的笔记:1、echo -n 不打印换行符2、echo -e 支持扩展属性,不如添加颜色echo -e “\033[32mOK\033[0m”-e表示有扩展属性,\033[表示要设置颜色,32m表示颜色数值为绿色,\033[0m表示设置颜色结束。一般固定格式为:echo -e “\033[34m---------------\033[0m”写一些展示某些信息的脚本时会用到。3、使用grep命令过滤是不会全字匹配,如原创 2022-01-28 21:30:05 · 1080 阅读 · 0 评论 -
Shell脚本,环境变量,位置变量,预定义变量,自定义变量,单引号双引号反引号用法,一般变量和交互式变量read定义,密文输入变量信息
Shell脚本,变量,系统预设的环境变量,位置变量,预定义变量,用户的自定义变量一、定义变量1、以固定的名称存放可以变化的值2、格式为变量名=变量值3、取消变量的格式unset 变量名4、注意事项=两边不可以有空格不可以使用关键字作为变量名,如ls,cd使用已经存在的变量名会覆盖原有的值变量名称不可以使用数字开头变量名称可以包括下划线_,参考编程语言中变量的定义时变量名的命名方法。二、访问变量1、$变量名 //访问变量例如:echo $MyName2、${变量名}原创 2022-01-28 10:21:33 · 1293 阅读 · 0 评论 -
Shell脚本,shell科普,具有执行权限x,存放Linux命令的文本文件,shell脚本基本格式,启脚本开进程和不开进程的方法
Shell脚本,具有执行权限x,存放Linux命令的文本文件,shell脚本基本格式,启脚本开进程和不开进程的方法一、shell科普1、什么是shell:封装了操作系统内核的命令解释器。2、创建用户时默认使用bash解释器,通过查看/etc/shells文件可以查看当前系统有多少种解释器使用chmod chsh可以修改用户的解释器例如:usermod -s /bin/tcsh username //将用户的解释器切换为/bin/tcsh解释器可通过/etc/passwd文件查看用户的解释器原创 2022-01-25 21:23:28 · 948 阅读 · 0 评论