shell字符串截取

快,学会 shell

故事扮演 提交于 2020-04-07 23:47:04
本文分成入门篇和基础篇。基础篇包括变量、字符串处理、数学运算三部分。基础篇包括流控制、函数和函数库三部分。主要是基于例子进行讲解,其中有 4 个复杂一点的脚本,看懂了也就入门了。 我们先来聊一聊 shell 和 shell script 的概念。计算机的运行离不开硬件,我们通过操作系统(OS,Operating System)操作硬件,而我们所说的 linux 严格来说是操作系统(OS)的核心部分——内核(Kernel)。我们无法直接操作 kernel,需要借助于 kernel 外的一层壳 shell 才能与 kernel 进行交互。如果把操作系统(OS)看做是一家公司,shell 就是前台,kernel 就是董事会。当我们访问公司的时候,先和前台(shell)打个招呼,前台通知董事会(kernel),董事会来控制公司(OS)。 俗话说“铁打的营盘流水的兵”,就是公司人来人往,都不会影响公司的运转。对于操作系统也一样,我们可以替换操作系统的前台(shell),甚至董事会(kernel)。如果你想知道你的系统中用到的是什么 shell 可以访问 /etc/shells 文件。,我的电脑上就有下面几种 shell: # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /bin/zsh /usr

shell脚本学习

拟墨画扇 提交于 2020-03-25 02:54:18
shell是一种脚本语言,和windows中的bat性质上差不多 1-1shell入门 在编写shell脚本程序中首先需要接触到的就是约定标记,这个约定标记表示使用什么解释器进行执行。 ps:解释器:解释器就是对shell程序使用的哪个东西后进行解释执行的语句 一个简单的shell程序如下 #!/bin/bash echo "Hello World !" 上述代码执行以后直接在控制台中显示以下代码 Hello World ! 在本代码中的 #! 是一个约定的标记,表示使用bash解释器来执行。使用的就是bash版本的shell脚本 sh/bash/csh/Tcsh/ksh/pdksh等shell的区别 sh(全称 Bourne Shell) : 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。 Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell。 bash(全称 Bourne Again Shell) : LinuxOS 默认的,它是 Bourne Shell 的扩展。 与 Bourne Shell 完全兼容,并且在 Bourne Shell 的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口

常用Linux命令

*爱你&永不变心* 提交于 2020-03-15 20:39:52
常用Linux命令 1. 文件管理 1.1. 列出文件 1.2. 打印当前工作目录 1.3. 建立目录 1.4. 切换工作目录 1.5. 删除文件或目录 1.6. 移动文件或目录 1.7. 复制文件或目录 1.8. 统计文件或目录大小 2. 文件操作 2.1. 查看文件 2.2. 连接文件 2.3. 反向连接文件 2.4. 按列提取文件内容 2.5. 比较文件差异 2.6. 打包文件 2.7. 压缩文件 2.8. 统计文件行数 2.9. 打印文件并增加行号 2.10. 更新文件时间戳 3. 日期和时间 3.1. 打印日期 3.2. 打印日历 4. 搜索 4.1. 搜索程序 4.2. 搜索程序名 4.3. 搜索文件 4.4. 正则表达式搜索 5. 进程管理 5.1. 查看进程 5.2. 向进程发送信号 5.3. 列出信号 5.4. 查看进程打开的文件 5.5. 实时查看系统进程 6. 网络 6.1. 检查网络联通性 6.2. 查看本地套接字 6.3. 查看网卡配置 6.4. 查看主机名 6.5. 跟踪IP路由 6.6. 查看本地路由表 6.7. 下载文件 6.8. 抓取网络包 7. 辅助函数 7.1. 打印字符串 8. Bash 8.1. 变量 8.2. 分支条件 8.3. 数值计算 8.4. 执行命令 8.5. 数组 8.6. 函数 8.7. 字符串 8.8. 循环 8.9.

-Shell 教程 Bash 脚本 基础语法 MD

余生长醉 提交于 2020-03-10 18:03:37
目录 目录 Shell 简介 Shell 脚本 Shell 环境 第一个shell脚本 Shell 变量 定义变量 使用变量 只读变量 删除变量 Shell 字符串 单引号 双引号 字符串基本操作 Shell 数组 定义数组 数组的基本操作 Shell 注释 Shell 传递参数 特殊字符处理参数 $* 与 $@ 的异同点 Shell 基本运算符 算术运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符 文件测试运算符 Shell echo 命令 Shell printf 命令 格式替代符 使用案例 printf 的转义序列 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 Shell 简介 Shell 是一个用 C 语言 编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种 命令语言 ,又是一种 程序设计语言 。 Shell 是指一种 应用程序 ,这个应用程序提供了一个 界面 ,用户通过这个界面访问 操作系统内核的服务 。 Ken Thompson 的 sh 是第一种 Unix Shell, Windows Explorer 是一个典型的 图形界面 Shell 。 Shell 脚本 Shell 脚本

linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用

不羁的心 提交于 2020-02-28 21:47:55
linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 2015年12月25日 16:28:50 张小凡vip 阅读数 5404更多 所属专栏: linux基础与shell编程 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/50394765 我们前面已经学习过 linux的性能查询(top),以及网络端口查询(netstat)命令等等。 怎么让我们查询到的信息按 我们需要的格式 显示生成。 就是我们本章 需要 学习练习的。 主要是grep,sed,awk3个命令的运用。 grep主要负责搜索 sed主要负责处理行 awk主要复杂处理列 我们在下一章的内容再来学习实例,如果用这几个命令来进行性能监控等。 grep 作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 格式 grep [options] [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l

shell 脚本的字符串比较与截取

不羁的心 提交于 2020-02-27 12:34:02
Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.hao.com/123.htm . . 一 # 号截取,删除左边字符,保留右边字符。 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 : www.hao.com/123.htm . . 二 ## 号截取,删除左边字符,保留右边字符。 echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 http://www.hao.com/ 结果是 123.htm . . 三 %号截取,删除右边字符,保留左边字符 echo ${var%/*} %/* 表示从右边开始,删除第一个 / 号及右边的字符 结果是: http://www.hao.com . . 四 %% 号截取,删除右边字符,保留左边字符 echo ${var%%/*} %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符 结果是:http: . . 五 从左边第几个字符开始,及字符的个数 echo ${var:0:5} 其中的 0 表示左边第一个字符开始,5 表示字符的总个数。 结果是:http: . . 六 从左边第几个字符开始,一直到结束。 echo $

Linux之字符串截取

◇◆丶佛笑我妖孽 提交于 2020-02-27 12:33:43
获取字符串的长度 在 Shell 中获取字符串长度很简单,具体方法如下: ${#string_name} string_name 表示字符串名字。 root@master:~# b="ma name is yjt" root@master:~# echo ${#b} 14 字符串截取 s hell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取 从指定位置开始截取 从字符串左边开始计数: 如果想从字符串的左边开始计数,那么截取字符串的具体格式如下: ${string: start :length} 其中,string 是要截取的字符串,start 是起始位置(从左边开始,从 0 开始计数),length 是要截取的长度(省略的话表示直到字符串的末尾)。 示例: root@master:~# echo ${b:3:4} name root@master:~# echo ${b:3} name is yjt 从字符串右边开始计数: 如果想从字符串的右边开始计数,那么截取字符串的具体格式如下: ${string: 0-start :length} 同第 1) 种格式相比,第 2) 种格式仅仅多了 0- ,这是固定的写法,专门用来表示从字符串右边开始计数。 这里需要强调两点: 从左边开始计数时,起始数字是 0(这符合程序员思维);从右边开始计数时,起始数字是

shell 字符串截取表达式

拜拜、爱过 提交于 2020-02-27 12:33:25
${var#str} 从左向右匹配,非贪婪匹配,截取并保留右边的内容 txt='123456abc123456' echo ${txt#*34} # 56abc123456 ${var##str} 从左向右匹配,贪婪匹配,截取并保留右边的内容 txt='123456abc123456' echo ${txt##*34} # 56 ${var%str} 从右向左匹配,非贪婪匹配,截取并保留左边的内容 txt='123456abc123456' echo ${txt%34*} # 123456abc12 ${var%%str} 从右向左匹配,贪婪匹配,截取并保留左边的内容 txt='123456abc123456' echo ${txt%%34*} # 12 ${var:index:len} 正序从index位置开始截取并保留右边len个字符 txt='123456abc123456' echo ${txt:5:3} # 6ab # index从0开始 ${var:0-index:len} 倒序从index位置开始截取并保留右边len个字符 txt='123456abc123456' echo ${txt:0-5:3} # 234 # index从1开始 来源: https://www.cnblogs.com/Peter2014/p/10969883.html

Linux Shell 中各种括号的使用: ${ }、$( )、` `、$[ ]、$(( ))、[ ]、[[ ]]、(( ))

淺唱寂寞╮ 提交于 2020-02-27 10:51:06
1、 ${} : 引用变量,还有一些其他的功能: ​fname=/aa1/aa2/aa3/dd.ee.txt #: 从左边开始找起。##就是从那一边找起的最后一个 ${fname#*/} 去掉左边第一个 / 及其左边的字符串:aa1/aa2/aa3/dd.ee.txt ${fname##*/} 去掉左边最后一个 / 及其左边的字符串:dd.ee.txt ${fname#*.} 去掉左边第一个 . 及其左边的字符串:ee.txt ${fname##*.} 去掉左边最后一个 . 及其左边的字符串:txt %:从右边开始找起。%%就是从那一边找起的最后一个 ${fname%/*} 去掉右边第一个 / 及其右边的字符串:/aa1/aa2/aa3 ${fname%%/*} 去掉右边最后一个 / 及其右边的字符串:(空值) ${fname%.*} 去掉右边第一个 . 及其右边的字符串:/aa1/aa2/aa3/dd.ee ${fname%%.*} 去掉右边最后一个 . 及其右边的字符串:/aa1/aa2/aa3/dd 使用冒号(:) 截取一段字符串,${str:start:length} ${fname:0:3} 截取index从0开始的 4 个字节:/aa1 ${fname:4:4} 截取index从4开始的 4 个字节:/aa2 使用单斜杠(/)和双斜杠(//)对变量值里的字符串作替换 $

Shell脚本的基本命令

丶灬走出姿态 提交于 2020-02-07 23:54:54
1. 什么是Shell(计算机壳层) 在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器) 它类似于 DOS 下的command . com和后来的cmd . exe,它接收用户命令,然后调用相应的应用程序 同时它又是一种程序设计语言,作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支 在排序算法中,Shell是希尔排序的名称 简单来说,shell就是用户和系统交互的工具 1 2 3 4 5 6 1. 脚本是一种解释型语言 2. 用shell脚本来保存执行动作 3. 用脚本判定命令的执行条件 4. 用脚本来实现动作的批量执行 1 2 3 4 文字操作系统与外部最主要的接口就叫做shell,shell是操作系统最外面的一层 shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果 shell提供了你与操作系统之间通讯的方式,这种通讯可以: 以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script ( 非交互)方式执行 shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用 本质上,shell