Redhat(3)-Bash-Shell-正则表达式

news2024/11/28 4:40:31

1.bash脚本
2.bash变量、别名、算术扩展
3.控制语句
4.正则表达式


1.bash脚本  

#!/bin/bash

#this is basic bash script

<< BLOCK
This is the basic bash script
BLOKC

:'
This is the basic bash script
'

echo "hello world!"

 双引号、单引号只有在变量时才有区别
 双引号: 变量值
  单引号:字符

#!/bin/bash
comment="hello world"

echo"$comment"
echo'$comment'


输出:hello world
     $comment
#1.touch创建脚本
touch file_name

#2.vim 编写内容
#!/bin/bash
echo -n "hostname is :";hostname

#3.执行程序
chmod +x ./file_name.sh
./file_name.sh
/bin/sh file_name.sh

2.shell变量、别名、算术扩展
#!/bin/bash
 

declare -u first_name="Ji"; #定义大写的变量
echo  $first_name           #单独输出:JI

declare -l last_name="Ma";  #定义小写的变量
echo &last_name             #ma
 
echo $first_name_&last_name     #ma
echo &{first_name}_&{last_name} #字符拼接:JI_ma


echo file-{1..3}  #file-1 file-2 file-3
echo &[ &num+5 ]
# 更改EDITOR
EDITOR=vim;export EDITOR
export EDITOR=vim

#更改LANG
export LANG=zh_CN.UTF-8

#更改PATH
export PATH=&{PATH}:/home/student/sbin


3.控制语句
 
3.1for语句
 

#1.基本语法  两个小括号
for((i=n;i<=m;i++))
do
  command1;
done

sum=0;
for((i=n;i<=m;i++))
do
  let sum=$[sum+i];
done


for num in{1..10};
do
   echo $num;
done


#2.$*和$@区别

#!/bin/bash
for args in $*
do
  echo $args
done

for args in "$@"
do 
  echo $args
done
    


  
4.正则表达式
    
正则表达式提供一种便于查找特定内容的模式匹配机制。  

cp /etc/fstab .
vim fstab

影响多少行:% ,s替换,开头:/^ 以UUID开头;中间:.* 任意;结尾:defaults/;/:替换成 
:%s/^UUID.*defaults//
:1,3  #只控制1-3行
#1 查找test文件中的字符串 cat
#2.需要加单引号,特殊字符
cat test|grep 'cat'


匹配规则:


 

 4.1扩展
   grep -E 'a|b'

#在test里找 a 或者 b
cat test|grep -E 'a|b'
cat test| egrep 'ab|bc'

4.2非打印字符

 4.3 限定次数,指定正则表达式出现次数

 比如:在文件test中查找 abc 出现2次的字符:
cat test| egrep '(abc){2}'
在文件test中查找 abc 出现2次以上的字符:
cat test| egrep '(abc){2,}'
在文件test中查找 abc 出现2次以下的字符:
cat test| egrep '(abc){,2}'
在文件test中查找 abc 出现1-3次的字符:
cat test| egrep '(abc){1,3}'


在文件test中查找 a 出现1次以上:
cat test| egrep 'a+' 
在文件test中查找 a 出现任意次数:
cat test| egrep 'a{0,}'
cat test| egrep 'a*'

4.4 定位符
  行首、行尾;单词开头、单词结尾。

 catssssss
catsssscatsssscat
查找以cat开头的:
cat test |grep ‘^cat’
查找以cat开头,后面多一个字符
cat test|grep  ‘^cat.’
查找以cat开头,后面一整行
cat test|grep  ‘^cat.*’

查找以cat结尾
cat test |grep ‘cat$’
查找以cat结尾的一整行
cat test |grep ‘.*cat$’

左边界:左边为空
cat test | egrep '\bcat'
右边界:右边为空
cat test | egrep 'cat\b'
左右边界:
cat test | egrep '\bcat\b'

4.5 反向引用
   提供查找文本中两个相同的相邻单词的匹配项的能力。

cat test | egrep '(laoma).*(laoma)'
cat test|grep '(laoma).\1'  #前面小括号第一次出现的值,*表示任意字符。
返回:laoma laoniu laohu laoma
cat test|grep '(laoma).*(laoniu).*\2'  laoma  laoniu 出现两次
返回:laoma laoniu laohu laoma laoniu 

 
  \b:左边边界;[a-z]+:小写字符每个单词;空格;\1:一模一样的 ;\b右边界

4.6匹配


 cat test | egrep 'ca|bo'
 cat test |grep -e ca -e bo
以上两者等价。

cat test |grep -i cat     忽略大小写
cat test |grep -i -v cat 不包含 cat

4.7输出

 在 目录/etc 中找包含 servera的文件。
grep -R 'servera' /etc
grep -R &(hostname) /etc 查找主机名
grep -R  &(hostname)  /etc 2>/dev/null  报错的丢掉
grep -R  &(hostname)  /etc 2>/dev/null  -l 文件名



  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

健身房信息管理系统/健身房管理系统

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

VCS 工具学习笔记(1)

目录 引言 平台说明 关于VCS 能力 Verilog 仿真事件队列 准备 VCS工作介绍 工作步骤 支持 工作机理 编译命令格式 编译选项 示例 仿真命令格式 仿真选项 示例 库调用 -y 总结 实践 设计文件 仿真文件 编译 仿真 关于增量编译 日志文件记录 编译仿真接续进…

链接脚本和可执行文件

几个重要的概念 摘取自知乎内容&#xff1a; 链接器与链接脚本 - 知乎 linker 链接器 链接器(linker) 是一个程序&#xff0c;这个程序主要的作用就是将目标文件(包括用到的标准库函数目标文件)的代码段、数据段以及符号表等内容搜集起来并按照 ELF或者EXE 等格式组合成一个…

【C++学习】string的使用

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《C学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; string的使用&#x1f640;模板&#x1f639;函数模板&#x1f639;类模板&#x1f640;string模板简…

【菜鸡读论文】Former-DFER: Dynamic Facial Expression Recognition Transformer

Former-DFER: Dynamic Facial Expression Recognition Transformer 哈喽&#xff0c;大家好呀&#xff01;本菜鸡又来读论文啦&#xff01;先来个酷炫小叮当作为我们的开场&#xff01; 粉红爱心泡泡有没有击中你的少女心&#xff01;看到这么可爱的小叮当陪我们一起读论文&am…

有了PySnooper,不用print、不用debug轻松查找问题所在!

PySnooper是一个非常方便的调试器&#xff0c;它是通过python注解的方式来对函数的执行过程进行监督的。 应用起来比较简单&#xff0c;不用一步一步的去走debug来查找问题所在&#xff0c;并且将运行过程中函数的变量值打印出来结果一目了然&#xff0c;相当于替代了print函数…

Boundary Loss 原理与代码解析

paper&#xff1a;Boundary loss for highly unbalanced segmentation Introduction 在医学图像分割中任务中通常存在严重的类别不平衡问题&#xff0c;目标前景区域的大小常常比背景区域小几个数量级&#xff0c;比如下图中前景区域比背景区域小500倍以上。 分割通常采用的交…

SpringBoot实践(三十三):Maven使用及POM详解

文章目录maven是什么maven怎么装settings.xml本地仓库地址&#xff1a;localRepository远程镜像&#xff1a;mirrorsJDK 版本&#xff1a;profile私服配置POM.xml中的常用标签projectmodelVersiongroupIdartifactIdversionpropertiesdependenciesbuild和pluginsresourcesdepend…

【学生管理系统】用户登录三种验证方式—图片验证、短信验证、邮件验证

目录 一、页面需求展示 二、验证方式—按钮组件 三、手机短信验证 四、邮件验证 五、图片验证邮件验证 &#x1f49f; 创作不易&#xff0c;不妨点赞&#x1f49a;评论❤️收藏&#x1f499;一下 一、页面需求展示 二、验证方式—按钮组件 2.1前端 <el-form-item labe…

【Linux】第十章 进程间通信(管道+system V共享内存)

&#x1f3c6;个人主页&#xff1a;企鹅不叫的博客 ​ &#x1f308;专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接&#xff1a;代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

工作流的例子

工作流的例子目录概述需求&#xff1a;设计思路实现思路分析1.配置bean2.examples3.no bean4.activiti-api-basic-process-example5.taskspringweb参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c…

C++ 多态类型

多态 C在面向对象中&#xff0c;多态就是不同对象收到相同消息&#xff0c;执行不同的操作。在程序设计中&#xff0c;多态性是名字相同的函数&#xff0c;这些函数执行不同或相似的操作&#xff0c;这样就可以用同一个函数名调用不同内容的函数。简而言之“一个接口&#xff…

2022 国赛postgresql

安装postgresql配置postgresql [root@linux3 ~]# postgresql-setup --initdb //初始化数据库Initializing database in ‘/var/lib/pgsql/data’Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log[root@linux3 ~]# systemctl enable postgresql.service Created …

澳洲最热门职业,护士排第一,医生竟然不如程序员?

2022澳洲最新的职业紧缺名单出炉了&#xff0c;令人惊讶的是护士竟然排行第一名&#xff0c;可见澳洲的医疗人力资源紧缺的问题。 既然人力资源紧缺&#xff0c;那么首当其冲的医生作为高学历且同属医疗行业的代表理应收到重视&#xff0c;然而令人意外的是&#xff0c;通过榜单…

Linux一篇入门(以Ubuntu为例)

一、Linux与Windows区别 Linux&#xff1a;无盘符&#xff0c;只有一个根目录&#xff08;/&#xff09; Windows&#xff1a;有盘符 二、目录相关常见命令 Linux命令格式&#xff1a; cmd -option parameter cdm命令&#xff0c;就是一个操作 parameter一般是要做的对象…

韩国程序员面试考什么?

大家好&#xff0c;我是老三&#xff0c;在G站闲逛的时候&#xff0c;从每日热门上&#xff0c;看到一个韩国的技术面试项目&#xff0c;感觉有点好奇&#xff0c;忍不住点进去看看。 韩国的面试都考什么&#xff1f;有没有国内的卷呢&#xff1f; 可以看到&#xff0c;有8.…

抽象类和接口

文章目录 前言 一、今日回顾 1.《高等数学》 2.阅读&#xff1a; 3.英语&#xff1a; 二、编程的那些事 1.引入库 2.读入数据 总结 前言 一、今日回顾 1.《高等数学》 2.阅读&#xff1a; 3.英语&#xff1a; 二、编程的那些事 1.抽象类的描述 在java中&#xff0…

一次函数与二次函数的联系

首先&#xff0c;无论是一次函数还是二次函数&#xff0c;都是函数&#xff0c;所以便可以从表达式&#xff0c;图像&#xff0c;函数的四个性质&#xff08;即有界性&#xff0c;单调性&#xff0c;奇偶性&#xff0c;周期性&#xff09;去看他们之间的联系 一次函数与二次函…

2022第8届中国大学生程序设计竞赛CCPC桂林站, 签到题4题

文章目录A. LilyM.Youth FinaleC.Array ConcatenationE.Draw a triangleA. Lily A. Lily time limit per test1 second memory limit per test512 megabytes inputstandard input outputstandard output They serve the purpose of changing hydrogen into breathable oxygen,…

MySQL数据库 -- 库和表的操作

关于数据库方面&#xff0c;还是需要多多练习的&#xff0c;否则很多指令不容易记住&#xff0c;所以大家也要在自己的电脑上多写写&#xff0c;熟悉熟悉~ 目录 库的操作 创建数据库 操纵数据库 查看数据库 显示创建语句 修改数据库 数据库的删除 数据库备份和恢复 …