linux 基本命令___0003 字符串处理和yum安装软件的路径
2017-07-24 22:08
525 查看
字符串变量的处理
参考链接:SHELL字符串处理技巧计算字符串的字符数量: ${#str}
str="xxx-Lane1_S2_L001_R1_trim.fastq" echo $str ### xxx-Lane1_S2_L001_R1_trim.fastq echo ${#str} ### 31
删除VALUE字符串中以分隔符“.”匹配的右边字符,保留左边字符: ${str%.*}
或${str%%.*}
str2=`ls xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz` echo ${str2%.*} #单次匹配 ### xxx-Lane1_S2_L001_R1_trim.fastq.tar echo ${str2%%.*} #多次匹配 ### xxx-Lane1_S2_L001_R1_trim
删除VALUE字符串中以分隔符“.”匹配的左边字符,保留右边字符: ${str#*.}
或${str##*.}
str2=`ls xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz` echo ${str2#*.} ### fastq.tar.gz echo ${str2##*.} ### .gz
用NEW子串替换str字符串中匹配的OLD子串: ${str/OLD/NEW}
或${str//OLD/NEW}
str2=`ls xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz` echo ${str2/tar.gz/bz} ### xxx-Lane1_S2_L001_R1_trim.fastq.bz echo ${str3//_/|} ### xxx-Lane1|S2|L001|R1|trim.fastq.tar.gz
“*”表示通配符,用于匹配字符串将被删除的字串
非贪婪匹配:
“%”表示从右向左匹配;
“#”表示从左向右匹配;
“/”表示替换
贪婪匹配:
“%%”表示从右向左匹配;
“##”表示从左向右匹配;
“//”表示替换
从str字符串的左边开始中截取子串: ${str:OFFSET}
或${str:OFFSET:LENGTH}
str2=`ls xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz` echo ${str2:4:8} ### Lane1_S2 echo ${str2:4} ### Lane1_S2_L001_R1_trim.fastq.tar.gz
从str字符串的右边开始中截取子串: ${str:0-OFFSET}
或${str:0-OFFSET:LENGTH}
str2=`ls xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz` echo ${str2:4:8} ### Lane1_S2 echo ${str2:0-6} ### tar.gz
下例中,WORD可以为一个字符串,也可以为一个变量。当为变量时,需要用“$”引用该变量。
var="xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz" word="yyy" str="" # 1. ${VALUE:-WORD}:当变量未定义或者值为空时,返回值为WORD的内容,否则返回变量的值。 echo ${str:-$word} ### yyy echo ${var:-$word} ### xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz # 2. ${VALUE:=WORD}:当变量未定义或者值为空时,返回WORD的值的同时并将WORD赋值给VALUE,否则返回变量的值。 echo ${str:=$word} ### yyy echo $str #此时str的值也发生了改变 ### yyy echo ${var:=$word} ### xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz # 3. ${VALUE:+WORD}:当变量已赋值时,其值才用WORD替换,否则不进行任何替换。 echo ${str:+$word} ### echo ${var:+$word} yyy # 4. ${VALUE:?MESSAGE}:当变量已赋值时,正常替换。否则将消息MESSAGE送到标准错误输出(若此替换出现在SHELL程序中,那么该程序将终止运行)。 echo ${str:?"warning"} ### bash: str: warning echo ${var:?"warning"} ### xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz
yum安装软件的路径
以安装BEDTools为例
# sudo yum install BEDTools rpm -q BEDTools #BEDTools-2.15.0-1.el6.x86_64 rpm -qa |grep BEDTools #BEDTools-2.15.0-1.el6.x86_64 rpm -ql BEDTools-2.15.0-1.el6.x86_64 # /usr/bin/annotateBed # /usr/bin/bamToBed # /usr/bin/bed12ToBed6 # /usr/bin/bedToBam # /usr/bin/bedToIgv # /usr/bin/bedpeToBam # /usr/bin/bedtools # /usr/bin/closestBed # /usr/bin/clusterBed # /usr/bin/complementBed # /usr/bin/coverageBed # /usr/bin/fastaFromBed # /usr/bin/flankBed # /usr/bin/genomeCoverageBed # /usr/bin/getOverlap # /usr/bin/groupBy # /usr/bin/intersectBed # /usr/bin/linksBed # /usr/bin/maskFastaFromBed # /usr/bin/mergeBed # /usr/bin/multiBamCov # /usr/bin/multiIntersectBed # /usr/bin/nucBed # /usr/bin/pairToBed # /usr/bin/pairToPair # /usr/bin/shuffleBed # /usr/bin/slopBed # /usr/bin/sortBed # /usr/bin/subtractBed # /usr/bin/tagBam # /usr/bin/unionBedGraphs # /usr/bin/windowBed # /usr/bin/windowMaker # /usr/share/BEDTools # /usr/share/BEDTools/data # /usr/share/BEDTools/data/knownGene.hg18.chr21.bed # /usr/share/BEDTools/data/rmsk.hg18.chr21.bed # /usr/share/BEDTools/genomes # /usr/share/BEDTools/genomes/human.hg18.genome # /usr/share/BEDTools/genomes/human.hg19.genome # /usr/share/BEDTools/genomes/mouse.mm8.genome # /usr/share/BEDTools/genomes/mouse.mm9.genome # /usr/share/doc/BEDTools-2.15.0 # /usr/share/doc/BEDTools-2.15.0/LICENSE # /usr/share/doc/BEDTools-2.15.0/README.rst # /usr/share/doc/BEDTools-2.15.0/RELEASE_HISTORY
RPM
rpm 全名是 “RedHat Package Manager”,简称则为RPM。RPM默认安装路径:
/etc 设置文件放置的目录
/usr/bin 可执行文件
/usr/lib 程序使用的动态函数库
/usr/share/doc 基本的软件使用手册与帮助文档
/usr/share/man man page文件
相关文章推荐
- linux软件管理和安装(yum命令--修改yum源)
- Linux系统 使用yum 命令只安装64位的软件包
- 每天学一点linux:Centos中yum安装和卸载软件的命令
- 安装Linux软件使用的命令:最好使用yum命令--而不是rpm.
- linux 查询yum install安装软件的路径 rpm命令
- linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?
- Linux系统 yum 命令安装软件时保留(下载)rpm包
- 【2.2】【Linux从基本命令到服务器搭建系列教程】——Linux软件安装与卸载,更换国内镜像源
- 使用yum命令批量安装软件遇到有冲突时的处理
- Linux下RPM软件包的安装及卸载与yum命令详解
- linux下查看yum安装的软件包命令
- bash数组和字符串处理、yum命令详解及编译安装
- linux 软件安装 yum命令学习
- linux学习笔记——yum安装软件、搭建仓库、rpm命令
- 夺命雷公狗---linux NO:21 linux下的yum安装软件的基本使用
- Linux常用yum命令—安装、升级、卸载、软件包查询、软件组管理命令、以及升级、卸载需要注意的问题
- Mac 下 软件安装路径查看 命令: Which, 估计Linux 也是
- 查看 yum 命令安装的软件路径
- Linux命令之软件的安装与卸载-rpm,dpkg,yum
- 用最基本命令在Linux下实现自解压安装