shell编程之字符串处理】的更多相关文章

脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell" str2="Hello $str !" str3="Hello ${str} !" echo "拼接字符串: $str2" echo "拼接字符串: $str3" test1="一二三四五六七八九零&quo…
shell中字符串操作主要有以下几种,其中:pattern ,old中可以使用通配符: ${#var} :返回字符串变量var的长度 ${var:m} :返回${var}中从第m+1个字符到最后的部分,其中m的取值从0到${#var}-1 ${var:m:len}:返回${var}中从第m+1个字符开始,长度为len的部分 [root@tlinux shell]# var=abcdefg [root@tlinux shell]# echo ${#var} 7 [root@tlinux shell…
string.sh脚本 #!/bin/bash # string="Bigdata process framework is Hadoop,Hadoop is an open source projeck" function print_tips { echo "**************************************************************" echo "(1) 打印string的长度" echo &…
字符串处理方式 计算字符串长度 获取子串在字符串中的索引位置 计算子串长度 抽取(截取)字串 1.计算字符串长度,有两种方式 $ ${#string} $ expr length "$string"   // 如果 string 里面包含空格,则 $string 加上双引号,建议一直加上 注意:mac没有 expr命令,xshell登陆 linux服务器可以执行 expr命令 例1:  $ var="java python golang kafka" $ len=$…
# .#号截取,删除左边字符,保留右边字符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 echo ${var#*//} # . ## 号截取,删除左边字符,保留右边字符,##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 echo ${var##*/} # . %号截取,删除右边字符,保留左边字符,%/* 表示从右边开始,删除第一个 / 号及右边的字符 echo ${var%/*} # 4. %% 号截取,删除右边字符,保留左边字符,%%/* 表示从右边开始,…
centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠  平台可以用arch命令,获取是i686还是x86_64  curl 下载   第三十九节课 上半节课 lampsed 下半节课lnmp变量和字符串比较不能用-eq cat > /usr/local/apache2/htd…
shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) 在str1中查找str2的位置 返回值为位置索引,从1开始计数 tolower(str) 转换为小写 转换后的小写字符串 toupper(str) 转换为大写 转换后的大写字符串 substr(str,m,n) 从str的m个字符开始,截取n位 截取后的子串 split(str,arr,fs) 按f…
shell编程系列4--有类型变量:字符串.只读类型.整数.数组 有类型变量总结: declare命令和typeset命令两者等价 declare.typeset命令都是用来定义变量类型的 declare命令参数总结 .declare -r 将变量设置为只读类型 declare -r var="hello" var="world" # 变量默认可以修改 [root@es01 shell]# var2="hello world" [root@es0…
1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了. (2) 基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符外任意一个字符 ^ 匹配行首,如:^hello会匹配以hello开头的行 $ 匹配行尾,如:hello$会匹配以hello结尾的…
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程,如Linux中的脚本编程. shenll运行原理:由消息接收.解析.执行构成的死循环. 命令行shell:该死循环包含3个模块(命令接收.命令解析.命令执行),命令行有一个标准命令集,用户输入的命令若不是标准命令,则提示用户这不是一个合法命令行,然后重新回到命令行让用户输入下一个命令. 常见的sh…
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne…
Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail:邮箱,#function(功能),#Version:版本 3.脚本注释(用英文注释 中文可能乱码.) 4.脚本以.sh结尾 不是必须的 5.成对的符号,一次性写全,退格补内容.特殊符号[ xxxx ] 中括号中间内容两边都有空格. 6 .代码有条理性(通过缩进). 2.执行:1.sh xxx.sh…
.-9 vim num.sh #! /bin/bash num1=$1 num2=$2 sum=$(($num1+$num2)) #变量sum是num1和num2的综合 echo $sum 执行 ./num.sh 11 22 $*,这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@,这个变量也代表命令行中所有的参数,不过$@吧每个参数区分对待 $#,这个变量代表命令行中所有参数的个数 e.预定义变量 $?,最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确执行…
在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls   显示当前路径下的文件,常用的有 -l 显示长格式  -a 显示所有包括隐藏  -R 显示文件夹内的内容  -c 按照最后一次修改时间排序  -t 按照修改时间排序输出 echo 显示  -n 不换行 touch  创建一个文件,或者修改文件的访问时间和修改时间 touch -a file 只更改访问时间 -m之更改修改实际那 -t指定特定时间 cp  复制文件 -a 保…
shell编程中条件表达式的使用 if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then  命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配) if [ expressi…
shell编程很强大! 网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务.由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱. 学了shell编程,写了下面的脚本: #!/bin/bash cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1` if [ $c…
1.shell程序练习:创建一个dir文件夹,在dir文件夹里再创建一个cd.c文件 首先vim hello.sh 2.shell中的变量定义和引用 (1)变量定义和初始化.shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言:变量没有明确类型就是弱类型语言),和C语言不同.在shell编程中定义变量不需要制定类型,也没有类型这个概念.(2)变量定义时可以初始化,使用=进行初始化赋值.在shell中赋值的=两边是不能有空格的.注意:shell对语法非常在意,非常严格.很多地方空格…
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一.    Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bour…
shell作为一个人机交互的接口,在Linux中发挥着很大的作用,而shell编程则是减轻系统工程师工作的利器,这里总结一下shell编程的主要内容(趁着程序运行的空档). 本文的基本结构是shell编程的基本命令和常用的实例. 命令篇 环境变量 环境变量指的是当shell运行后,系统默认给shell传递的变量. $pwd:显示当前路径 $HOME:当前用户的主目录 $#:shell中参数的个数 $0:shell文件名 $1-$n:参数值 具体还有部分预设参数列表,见(此链接)[http://w…
我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #!/bin/sh  ...  注意:最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc shell改为tcsh,其他类似.   符号#!用来告诉系统执行该脚本的程序,本例使用/bin/sh.编辑结束并保存后,如果要执行该脚本,必须先使其可执行:   chmod +x filename  此后在该脚本所在目录下,输入 ./fi…
while类型的循环 while类型的循环是不定循环的一种,每一次循环都会验证给出的循环条件,判断是否要进行下一次循环.linux中while循环的写法和c语言中很想,但是条件给出的方式有些区别. 首先是<鸟哥私房菜>书中给出的写法 while [ "$yn" != 0 -a "$yn" != 1 ] do read -p "please type in your answer " yn done echo "the ans…
shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚本:方式1 :chmod 755 hello.sh ./hello.sh 方式2 :bash ./hello.sh(这种方式不需要给执行权限) 1 历史命令 history 直接回车就可以看到已经敲过得命令.-c清空缓存中和文件中的命令 -w将缓存中命令写入 家目录/.bash_history 这个命令可以帮…
第二章Shell的结构  “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能的等价途径,相反,它们在不同的逻辑层上提供不同的功能.          API函数包含了用户想要在Shell对象上执行的基本操作,如文件和文件夹.COM接口则给出了扩展增强,甚至客户化各种要素对象的机会,包括Shell本身标准行为.用面向任务的方法对函数和对象进行分组将给我们一个总体上观察Shel…
http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一.…
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理.   修改别人的脚本,运行后遇到个问题 setenv: command not found 查证后,原来setenv是csh的命令,我用bash去执行脚本自然就出错了.在脚本的首行加上一句#!/bin/csh,调用csh来运行脚本. 记录几个命令: 查看系统支持的所有shell:more /etc/shells 查看当前的shell类型:echo $SHELL 查看或修改某个用户的默认shel…
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed awk模式扫描与处理语言 1.基本文本处理 sort :用于排序,常用参数 -t 指定一行的分隔符 -k 指定具体排序的规则 -d 按字典序排列  -f 忽略大小写  -u (unique)丢弃相同指定字段的记录 unique:报告或删除文件中重复的行. -c 在输出行前加上出现的次数    -d  (…
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 1.再识变量 Shell 中有3种变量:用户变量.位置变量.环境变量 用户变量 用户变量就是用户在Shell编程过程中定义的变量,分为全局变量和局部变量.默认情况下,用户定义的变量为全局变量,如果要指定局部变量,需要使用local限定词 1)Shell 中的特殊符号: 特殊字符列表如下: - 主目…
https://blog.atime.me/note/shell-scripting-summary.html 总结一下日常Shell脚本里常用的知识,忘记时方便查阅. 常见的shell 常见的Linux发行版里,默认的shell一般是dash(sh)或bash,不同的shell对脚本的支持也各不相同.若无特殊说明,以下shell知识都是基于Ubuntu 14.04 x86_64系统上的bash 4.3. Shell编程书籍 只看过Advanced Bash-Scripting Guide,简称…
导读 关于shell编程基础的学习,网上有很多资源,如果在校图书馆应该也有一些教程,所以这里对于零碎的基础不做详细记录,而只是对一些常用的概念.命令与操作做一个简要的记录,以备方便查找. (本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 终端.shell 和 bash 常用的基础命令 Linux Shell 的变量 编程语法 与 文本处理 正则表达式 进程相关 1.终端.shell 和 bash 详细的区别与联系:点这里 一个最简单的 “Hello world” 显示…
第一章    文件安全与权限 文件访问方式:读,写,执行.     针对用户:文件属主,同组用户,其它用户.     文件权限位最前面的字符代表文件类型,常用的如         d 目录:l 符号链接:p 命名管道文件:- 普通文件 ...     用chmod改变文件权限位的设置:         chmod [who] operator [permission] filename         who: u 属主:g 同组:o 其它:         operator:+ 增加权限:-…