linux 基本命令___0003 字符串处理和yum安装软件的路径
来源:互联网 发布:汽车租赁java 编辑:程序博客网 时间:2024/06/03 16:33
字符串变量的处理
参考链接:SHELL字符串处理技巧
计算字符串的字符数量: ${#str}
str="xxx-Lane1_S2_L001_R1_trim.fastq"echo $str### xxx-Lane1_S2_L001_R1_trim.fastqecho ${#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.tarecho ${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.gzecho ${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.bzecho ${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_S2echo ${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_S2echo ${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}### yyyecho ${var:-$word}### xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz# 2. ${VALUE:=WORD}:当变量未定义或者值为空时,返回WORD的值的同时并将WORD赋值给VALUE,否则返回变量的值。echo ${str:=$word}### yyyecho $str #此时str的值也发生了改变### yyyecho ${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: warningecho ${var:?"warning"}### xxx-Lane1_S2_L001_R1_trim.fastq.tar.gz
yum安装软件的路径
以安装BEDTools为例
#sudo yum install BEDToolsrpm -q BEDTools#BEDTools-2.15.0-1.el6.x86_64rpm -qa |grep BEDTools#BEDTools-2.15.0-1.el6.x86_64rpm -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文件
阅读全文
0 0
- linux 基本命令___0003 字符串处理和yum安装软件的路径
- linux 查询yum install安装软件的路径 rpm命令
- yum源的搭建和yum命令的软件安装
- CentOS 5.3 安装后yum和基本软件的配置
- linux下安装软件--yum命令
- linux 软件安装 yum命令学习
- 如何查看yum安装的软件路径
- 查询yum install安装软件的路径
- 如何查看yum安装的软件路径
- 搜索yum安装的软件路径
- linux软件管理和安装(yum命令--修改yum源)
- 软件安装命令yum
- linux下软件的rpm和yum安装
- Linux软件安装(rpm和yum)
- yum默认软件安装路径
- yum安装软件各种路径
- 安装Linux软件使用的命令:最好使用yum命令--而不是rpm.
- Linux yum 软件安装
- 解决 E:could not get lock /var/lib/dpkg/lock -open等问题
- Python多线程
- android databing的学习(一)
- hdu 3709 力矩
- PC端车牌识别sdk嵌入到巡逻机器人中
- linux 基本命令___0003 字符串处理和yum安装软件的路径
- Nginx 配置文件 nginx.conf 详解
- 并查集
- 7.24每日总结《我能怎么办我也很绝望啊》
- 微信小程序tabBar的使用,导航栏实例
- Rails 简单的小例子 —— 新建一个购物网站
- C++ overload、override、overwrite
- 深入c语言_变量特性的总结
- python学习笔记一