170811

sed 流编辑 (流=文件)

sed处理文本文件时,首先会被读到模式空间中,而不修改原文件。
sed可以对文本文件的所有行进行操作,也可以通过正则表达式进行匹配,
使得sed可以只处理模式空间中的被正则表达式匹配到的行。
1.用法


sed 选项 脚本 文件

脚本是 地址定界编辑命令组成

sed操作文本的时候,基于经验来看,如果使用的编辑命令是p,那么需要加上-n选项
表示取消默认的输出,其他的编辑命令都不要加-n选项

选项:

    -n:不输出模式模式中的内容至屏幕,也就是不会将没有匹配到的文本输出到标准输出,
       只是输出编辑到的文本(一般只和打印 “p”一起连用)

    -e 脚本:可以指定多个脚本,实现多次编辑

   -f 脚本文件: 每一行一个编辑命令

    -i:直接修改原文件

    -r: 表示使用扩展的正则表达式(就是大部分不用转译)

2.地址定界

全文匹配:地址定界处 空白 即不给定地址  ,vim需要给定%来全文匹配   

单地址匹配: 只写一个字符 ,表示匹配单行

多地址匹配: 指定一个范围 

模式匹配 : 正则表达式,   

  列如: /正则表达式/  表示匹配正则表达式的那行

          1,/正则表达式/ 表示 从第一行到正则表达式的那行


步长匹配 :

1~2:表示所有奇数行

2~2:表示所有偶数行


编辑命令


  d 删除:删除


sed '1,3d' /etc/passwd     删除/etc/passwd中1到3行

  p 打印:  一般与 -r 选项一起用 只显示需要打印的那段 ,不然会多显示一遍需要打印的行

 

  a\字符串在行后面追加字符串,支持使用\n实现多行追加

  i\字符串在行前面插入字符串,支持使用\n实现多行插入

  c\字符串把匹配到的行替换为字符串

 

  w文件路径将匹配到的行重定向至指定的文件中

  r文件路径读取指定文件的内容插入到当前文件被匹配到的行处

 

  =表示被模式匹配到的行上面加上一个行号

 !取反条件

 

  s/ / /查找替换,常用的有s@@@, s###


“空白格” 与 “空白字符所在行“ 的删除

 空白行           ‘/^[[:space:]]*$/d’   由于空白行中并不是空白格所以用查找替换不行

空白格所在行   ‘s/^[[:space:]]+//’ 删除由空白个开头的行


取文件名与取文件路径

取文件名

 echo ''var/log/message"  | sed -r ‘#^.*/(.*)#\1#’  这里用了扩展正则表达式 ,如果以/为分割符的话 ,

 中间的 “/”会冲突 这里指的是匹配的条件之一不是分割符,也可以加 \ 转译


取文件路径

echo ''var/log/message"  | sed -r (‘#^.*)/.*#\1#’  与取文件名大致相同只不过取的是前面一部分

这里的“()” 用到的是后项引用 括号中是要取的内容


*与+ 区别在于 *是0个或多个 +是1个或多个



简单的bash脚本



bash脚本语言文件格式

第一行#!/bin/bash :定义bash脚本解释器

注释信息:#

代码注释:

缩进,适度添加空白行


bash脚本的变量

局部变量
本地变量
环境变量
位置参数变量
特殊变量

变量类型

与c语言和c++的变量类型相似
1:字符类型
2:数值类型 
    精确类型
    近似类型
3:弱类型:字符型

在使用运算符时,不能加空格

定义: $a=1
ehco"$a" 输出的是1
echo '$a'输出的是$a

bash中支持的运算符以及变量赋值的表达时候


+ , - , * , / , % , ** 

1let var=$var1+$var2

2var=$[expression]:这里虽然expression是字符表达式,但是通过 $[ ]之后就变成了算数运算, 例如:var=$[ 1+2 ]

3var=$(命令)  这里是将命令输出的结果赋值var变量

4:注意:乘法有些时候需要转义

5let i=$i+1 等价于 let i+=# 等价于 let i++
   let i=$i-1 等价于 let i-=# 等价于 let i--


一个简单的脚本
#!/bin/bash

USER1=$1
USER2=$2

useradd $USER1
useradd $USER2
echo "$USER1 "
~                                                                               
~            









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值