linux脚本

shell脚本--grep与正则表达式

回眸只為那壹抹淺笑 提交于 2019-11-27 08:19:11
1、grep程序 Linux下有文本处理三剑客 --grep、sed、awk grep:文本 行过滤工具 sed: 文本 行编辑器(流编辑器) awk: 报告生成器(做文本输出格式化) grep: 包含三个命令:grep、egrep、fgrep,它们是用来进行 行模式(pattern)匹配的 egrep = grep -E //使用扩展的正则表达式进行匹配 fgrep = fast grep //只使用文件通配符进行匹配 *grep默认使用正则表达式进行文本匹配* grep的用法: grep [option]...PATTERN [filename] grep的常见选项--option: -E 支持使用扩展的正则表达式(ERE)(regexp) -P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed、awk、使用的regexp引擎也不一样) -i 忽略大小写 -v 进行反选 -o 仅仅输出匹配的内容(默认输出的是匹配到的行) --color=auto 语法着色 -n 显示行号 -w 匹配固定的单词 PATTERN--正则表达式 作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符,本身的含义就需要\进行转义。 回顾:文件通配符(globbing) *任意字符 ?任意单个字符 [] 括号内的任意单个字符 [^]

shell脚本之正则表达式

不羁岁月 提交于 2019-11-27 08:14:36
一、基础正则表达式实例: 元字符: 在Linux系统中常见的文件处理工具中grep和sed支持基础正则表达式。 grep命令选项: -i:查找时不区分大小写; -v:查找时反向输出,如查找不包含某些字符的内容; -n:表示查找出结果后显示行号; 这三个选项可以结合使用,如“-in”,查找时不区分大小写并显示行号。 示例: [root@localhost ~]# grep -n 'the' test.txt #查找test文件中包含字符“the”的行 #可以将选项改为“-vn”来查找不包含“the”的行。 [root@localhost ~]# grep -n "sh[io]rt" test.txt #[io]表示匹配 i 或o的显示出来 #[ ]中无论有几个字符都仅代表匹配一个字符即可。 [root@localhost ~]# grep -n 'oo' test.txt #查找包含字符“oo”的行。 [root@localhost ~]# grep -n 'ooo*' test.txt #查找包含至少两个o以上的字符串。 [root@localhost ~]# grep -n 'o\{2\}' test.txt #查找包含两个“o”的字符串。 [root@localhost ~]# grep -n 'o\{2,5\}' test.txt #查找包含2~5个o的字符串。 [root

shell 脚本——第四节课 Linux grep命令与正则表达

走远了吗. 提交于 2019-11-27 08:11:17
一、介绍   很多时候,我们可以使用grep来实现找出文件包含制定信息的那些行   grep命令,sed命令,awk命令三个命令为Linux文本处理的三剑客,这次就让我详细介绍一下grep命令。   grep 命令的由来可以追溯到 UNIX 诞生的早期,在 UNIX 系统中,搜索的(patterns)被称为正则表达式(regular expressions),为了要彻底搜索一个文件,有的用户在要搜索的字符串前加上前缀 global(全面的),一旦找到相匹配的内容,用户就像将其输(print)到屏幕上,而将这一系列的操作整合到一起就是 global regular expressions print,而这也就是 grep 命令的全称。 二、grep程序   1、linux下有文本处理三剑客 -- grep sed awk     grep:文本行过滤工具     sed:文本行编辑器(流编辑器)     awk:报告生成器(做文本输出格式化)   2、grep     包含三个命令:grep egrep fgrep,他们是用来进行 行模式(pattern)匹配的     egrep = grep -E //使用扩展的正则表达式进行匹配     fgrep = fast grep //只使用文件通配符进行匹配     *grep默认使用正则表达式进行文本匹配*   3、grep的用法:

mtt 初见识

╄→尐↘猪︶ㄣ 提交于 2019-11-27 07:38:02
众里寻她千百度,MTT来入住! 费了好大劲,按照网站提示的方法配置了,mttrc .但运行还是提示未果!找不到路径的节奏!mtt_check_var cannot be find! 类。翻shell的书,环境变量输出的问题得到定位。 用分模块调式发现,进程没结束,一个shell程序内,设置的环境变量有效。推出进程,No!---定位之,进程shell变量--“linux shell 文件不能设置环境变量“,度之,见文献: **********************************************************************************88 http://blog.sina.com.cn/s/blog_623630d50102vdyk.html linux中shell脚本设置环境变量 (2014-12-05 22:16:58) 转载 ▼ 标签: 佛学 linux中shell脚本设置环境变量 怎样用脚本来设置环境变量 我想编一个脚本程序,用来对一组环境变量进行设置或取消 但由于脚本程序对变量的设置在退出脚本后就消失了,有没有间接办法能够实现这个功能? 你说的是 export ? 在脚本中使用export, 好像只在脚本中有效,退出这个脚本,设置的变量就没有了 在你的脚本中做设置 在~/.profile 或 ~/.bashrc 等

Shell脚本编写

我与影子孤独终老i 提交于 2019-11-27 07:03:46
1. 什么是 Shell 脚本 Shell脚本是利用 shell 的功能所写的一个程序 program,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。 Shell 脚本可以简单的被看成是批处理文件, 也可以被说成是一个程序语言,且这个程序语言由于都是利用 shell 与相关工具指令, 所以不需要编译即可执行,且拥有不错的除错 (debug) 工具,所以,shell可以帮助系统管理员快速的管理好主机。 2.Shell 脚本特性 自动化常用命令 追踪与管理系统的重要工作 简单入侵检测功能 连续指令单一化 简易的数据处理 跨平台支持与学习历程较短 3.创建 shell 脚本 第一步:使用文本编辑器(vim)来创建文本文件 第一行必须包括shell 声明序列:#! #!/bin/bash (告诉系统执行的时候要调用什么解释器) 添加注释 注释以# 开头 (# 都是批注用途,加在#后面的数据都被当做批注文字) 第二步:运行脚本 给予执行权限,在命令行上指定脚本的绝对或相对路径 直接运行解释器,将脚本作为解释器程序的参数运行 例:计算/etc/passwd文件中的第10个用户和第20个用户的ID之和 #!/bin/bash #Filename:ID.sh 文件名:ID.sh

设置linux服务或脚本开机启动

半世苍凉 提交于 2019-11-27 06:50:45
方法1: 注意、服务也可以使用下面方法设置开机启动,如追加rc.local文件追加/usr/bin/rsync --daemon就是开启启动rsync服务 1、首先,脚本具有可执行权限 1 chmod 755 inotify.sh 2、然后将脚本存放的绝对路径+脚本全名追加到/etc/rc.d/rc.local文件最后 1 / root / inotify.sh 3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限 1 chmod +x /etc/rc.d/rc.local 参考:https://www.cnblogs.com/lei0213/p/8595030.html 来源: https://www.cnblogs.com/i-shu/p/11349604.html

Ubuntu 下运行 Shell 脚本时显示 \"declare not found\" 的问题

a 夏天 提交于 2019-11-27 04:45:06
------------------------------------------------------------------------------- declare not found 错误(ubuntu里的dash): #why,#dash: @2010-Mar-25 ------------------------------------------------------------------------------- Update: 2010-Mar-31 此种问题只在 Ubuntu 下才会出现!安装 debian 系统根本不存在此类问题,因为只有 Ubuntu 把默认的 bash 替换成了 dash. 在使用 debian 一天后感觉:Ubuntu 好像要 弄出来一个 Linux 世界里的"Windows 7". 自己 Linux 刚入门,不知见解是否有问题,欢 迎提出不同意见。谢谢! - - - - - - - - - - - - - - - - - 在学习 Shell 脚本的时候,有两个例子在运行时出现异常。比如,我在 test-dash.sh 脚 本输入如下内容: echo -e "Trekshot. \a \n" declare -i number=7 echo $number 在 Ubuntu 系统下使用 sh test-bash.sh

Shell脚本的编写及测试

末鹿安然 提交于 2019-11-27 04:35:31
Shell脚本的编写及测试 1.1 问题 本例要求两个简单的 Shell 脚本程序,任务目标如下: 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“ Hello World !!” 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息、当前使用的内核版本、当前系统的主机名 1.2 方案 规范 Shell 脚本的一般组成: #! 环境声明( Sha-Bang ) # 注释文本 可执行代码 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:编写 helloworld.sh 问候脚本 1 )编写脚本代码 [root@server0~]#vim /root/helloworld.sh #!/bin/bash echo"Hello World!!" 2 )添加 x 执行权限 [root@server0~]#chmod +x /root/helloworld.sh 3 )运行脚本测试 [root@server0~]#/root/helloworld.sh Hello World!! 步骤二:编写 sysinfo 系统信息报告脚本 1 )编写脚本代码 [root@server0~]#vim /root/sysinfo #!/bin/bash cat /etc/redhat-release uname-r

springboot的jar在linux运行

允我心安 提交于 2019-11-27 03:23:06
springboot项目使用maven打包成jar包,如何在linux优雅部署?平时启动项目使用java -jar命令,关闭程序需要查询pid再查杀进程,这样都太麻烦了,今天发现一个博客已经写好的脚本,如下: 实现以下命令: 启动 : start 停止 :stop 重启 : restart 运行状态 :status 查看实时日志 : log 备份 : backup 备注:脚本会屏蔽部分敏感词,估针对实际情况进行修改即可使用。 脚本代码 脚本内容如下,复制修改后保存即可使用(如 : xxx.sh),脚本已有相应的注释应该好理解。 #!/bin/bash #这里可替换为jar包名字 APP_NAME=xxx-1.0.jar #根据实际情况修改参数 JVM="-server -Xms2g -Xmx2g -Xmn512m -XX:PermSize=128M -XX:MaxNewSize=128m -XX:MaxPermSize=25zh6m -Xss256k -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Xloggc:/logs/xxx-server/GC/xxx-gc.log" #APPFILE_PATH="-Dspring.config.location=

常用linux脚本

血红的双手。 提交于 2019-11-27 02:57:54
1、如何查看根目录下每个目录下的文件个数 find ./ -maxdepth 1 -type d | while read dir; do count=$(find "$dir" -type f | wc -l) echo "$dir : $count" done 2、如何查看当前目录下文件的大小 du -lh --max-depth=1 来源: https://www.cnblogs.com/dayu-liu/p/11340065.html