shell中substr总结】的更多相关文章

(1)awk中函数substr substr(源字符串,开始索引,长度)   开始索引以0开始 示例: awk '{$a=substr($0,0,2);print $a;}' filename 假设文件中为只有一行为abcdefg,则返回结果为ab (2)expr substr 字符串 开始索引 长度   开始索引以1开始 示例: expr substr "abc" 2 2 显示bc (3)echo ${str:开始索引} 或 echo ${str:开始索引:长度}   开始索引为0…
shell中取字符串子串的几种方式 echo "123456789" | awk '{print substr($0,5,2)}' 截取 1)awk中函数substrsubstr(源字符串,开始索引,长度)   开始索引以0开始示例:awk '{$a=substr($0,0,2);print $a;}' filename假设文件中为只有一行为abcdefg,则返回结果为ab (2)expr substr expr substr 字符串 开始索引 长度   开始索引以1开始示例: exp…
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}…
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置参数的个数 "$*" 所有的位置参数(作为单个字符串) * "$@" 所有的位置参数(每个都作为独立的字符串) ${#*} 传递到脚本中的命令行参数的个数 ${#@} 传递到脚本中的命令行参数的个数 $? 返回值,显示最后命令的退出状态.0表示没有错误,其他任何值表明有…
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S' 2015-01-19 16:24:58 把javascript 中的Date object 格式化成适合的字符串,很不方便,模拟shell中的格式 下面先用3段简单的代码来说明模拟函数中用到的特性 字符串的replace var a = '1234' undefined a.replace('1…
字符串操作   变量赋值: 说明:变量值可以用单引号.双引号.或者不加任何引号来赋值给变量 变量名="变量值" 变量名='变量值' 变量名=变量值 例如:str="hello world" 注意:=左右不能有空格,否则会报错command not found 区别: 1.单引号的不能使用变量,$会被认为是个普通字符:字符串间可以有空格 2.双引号可以使用变量:字符串间可以有空格 3.不加任何引号的只能赋值连续的字符串,中间不能有空格,否则会报命令错误   字符串连接…
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时) sleep 1 睡眠1秒 sleep 1s 睡眠1秒 sleep 1m 睡眠1分 sleep 1h 睡眠1小时 linux shell 真奇怪... 其实linux shell 也有函数的概念…
今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && [  $xx=b ] eg: #! /bin/bash webapps_dir='/var/log/webapps' webapps_owner=`ls -l /var/log|grep 'webapps$'|awk '{print $3}'` webapps_group=`ls -l /var/log|…
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法1: a= b= c=$(($a+$b)) 方法2: a= b= declare -i c=$a+$b 通过declare -i 来声明c的数值类型为int类型 方法3: a= b= c=$(expr $a + $b) 注意+号两边有空格 通过貂绒expr命令来进行字符串的加减…
shell中${}的妙用   1. 截断功能 ${file#*/}:       拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:    拿掉最后一条/及其左边的字符串:my.file.txt ${file#*.}:       拿掉第一个.及其左边的字符串:file.txt ${file##*.}:    拿掉最后一个.及其左边的字符串:txt ${file%/*}:     拿掉最后条/及其右边的字符串:/dir1/dir2/dir…
1.管道 "|" ls | cat -n > out.txt 2. 子shell 2.1 子shell 说明 在shell脚本中可以用()操作符可以定义一个子shell #/bin/bash pwd (cd / ; ls) pwd 执行结果…
测试题: [ -z "" ] && echo 0 || echo 1 的结果是多少 看看这两个 && || 的用户  http://blog.csdn.net/a627088424/article/details/20360107 shell中&&和||的使用方法 &&运算符:   command1  && command2   &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&a…
VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyzhao/p/4485553.html 本文将总结Shell中的正则表达式及常用的字符处理命令,为打通任督二脉奠定基础^_^. 基础正则表达式举例说明 字符截取命令 cut命令 awk命令 sed命令 字符处理命令 sort命令 wc命令 1. 基础正则表达式举例说明 *,.,\,^word,word…
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则…
shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有其他形式: ;i<=;i++)); )); done ;i<=;i++)); ]; done 类似于python的迭代序列 比如遍历一个数组: a=( ) for v in ${a[*]}; do echo $v done 上面这段代码可以用seq命令简化: ) ;do echo $i ;done…
shell中&&和||的使用方法 &&运算符:   command1  && command2   &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行:换句话说,"如果这个命令执行成功&&那么执行这个命令".  语法格式如下:       command1 && command2 [&& command3 ...]…
在Shell中引用其他脚本的方法是source   filename.sh 或    .    filename.sh 注意:      .   和   filename.sh之间必须有空格…
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为xml或html文件, 并分析了核心语句.本文介绍的方法适用于PostgreSQL ,相对mysql而言,shell 中读写PostgreSQL会更简单些. 1. 连接mysql 数据库 shell中连接数据库的方法很简单,只需要指定用户名,密码,连接的数据库名称,然后通过重定向,输入mysql的语…
http://www.cnblogs.com/chenmh/p/5382044.html 问:其中 的2>&1是怎么回事? . test.sh > test.log 2>&1 答: >和<是 文件重定向符.在shell中,每个进程都和三个系统文件相关联: 标准输入stdin,文件描述符为0 标准输出stdout,文件描述符为1 标准错误stderr,文件描述符为2 所以这里2>&1的意思就是将标准错误也输出到标准输出当中. 示例: 下面通过一个例…
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.…
1.for循环(1)要求:能看懂.能改即可.不要求能够完全不参考写出来.因为毕竟嵌入式并不需要完全重新手写shell,系统管理员(服务器运维人员,应用层系统级管理开发的才需要完全掌握shell) 这里将1 2 3 4 5依次打印出来 打印出当前目录文件 2.while循环(1)和C语言的循环在逻辑上无差别(2)要注意很多格式要求,譬如:while后面的[]两边都有空格,[]后面有分号分号(如果do放在一行的话),i++的写法中有两层括号. 3.echo的创建和追加输入文件(1)在shell中可以…
理解 Linux shell 中的一个方言:2>&1  2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如果是刚开始接触Linux,这个东西的确不好理解,因为他没有直观的含义,不像一个命令,例如 cp是 copy 的简写,很好记. 我以前刚用Linux时就对这个东西迷糊了一段时间,今天刚好看到一篇文章介绍他,感觉很有必要总结出来,分享给还不是很理解这个方言的朋友. 下面看一个命令示例,然后分析下他是如何工作的:…
shell中for循环总结 最常用的就是遍历操作某一类文件,比如批量建索引. for i in `ls` do samtools faidx $i done 注意:for末尾不需要冒号(:),循环的代码块是由do和done来,反引号用来捕获输出,记住shell创建变量时不用\$,而使用变量时则需要加\$.…
对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过,只是看了些速成的东西,匆匆忙忙地扫描,然后以光的速度忘掉了.好了,不淡这些了,希望和大家共勉. 第一次在Makefile中看到位置参数这东西比如$@,$^,$<等 ,shell中的位置参数也长这样子,但含义是不一样的.在shell中 $0 , 表明脚本的名字,比如执行./test/test.sh 那…
使用set命令可以设置各种shell选项或者列出shell变量. 单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开. 在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量. 除非遇到非法的选项,否则set总是返回ture.当BASH shell被调用时,可以列出全部的选项. 当前的选项集列在$-中. 在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n) 格式 set [--abefhkmnptuvxldCHP] [-…
首先,需要说的是:1.在shell中,运行的每一个命令至少启动一个新进程,且:$$:获取当前shell的进程号(PID)$! :执行上一个指令的PID2.重定向与管道有点类似,例子:cmd1 <(cmd2) >(cmd3), cmd1, cmd2, cmd3的执行是同步并行的.<(command)形式可以用在任何命令行中需要填写输入文件名的地方,command的标准输出会被该命令当作一个输入文件读入.>(command)形式可以用在任何命令行中需要填写输出文件的地方,该命令的输出会…
  1.shell中的大括号和小括号   1.${var} 2.$(cmd) 3.() 和 {} 4.${var:-string}, ${var:+string},  ${var:=string}, ${var:?string} 5.$((exp)) 6.$(var%pattern), $(var%%pattern),  $(var#pattern), $(var##pattern)   现在分述如下: 1.${var}是shell中的原形变量,我们常见的形式是 $var 如: $ var=te…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵.   1.错误方法举例   a)   var=1+1   echo $var   输出的结果是1+1,悲剧,呵呵      b)   var=1   var=$var+1   echo $var   输出结果是1+1,依然悲剧,呵呵      2.正确方法   1)使用let   var=1   let "var+=1"   echo $var   输出结果为2,这…
在Linux的Shell中怎样处理tail -n 10 access.log这样的命令行选项呢?这是被别人问起的一个问题,好好学习了一下,进行总结如下:在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景.1.直接处理,依次对$1,$2,...,$n进行解析,分别手工处理:2.getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项):3.getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/ho…
Shell中取时间格式方法2007-09-13 15:35常用date的显示格式: date +%F //2007-03-06date +%Y%m%d//20070306 date +%T //23:37:11 //昨天date +%Y%m%d -d "-1 day"//明天date +%Y%m%d -d "+1 day"//上个月date +%Y%m%d -d "-30 day" 时间修改: date -s 06:01:00 //小时:分钟:秒…