linux 基本命令___0003 字符串处理和yum安装软件的路径
字符串变量的处理
计算字符串的字符数量: ${#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 基本命令___0003 字符串处理和yum安装软件的路径的更多相关文章
- 解决方法:CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64
在Linux学习中,发现使用yum安装软件出现以下的错误: 百度了各种方法,很多人也发现光是修改REBOOT=yes也没用,多次进行挂载.修改网卡配置文件.重置IP地址.重启网络.创建又删除配置文件的 ...
- Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)
新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...
- linux小白成长之路2————yum安装火狐浏览器
1.使用终端: CentOS左上角:应用程序>收藏>终端  2.使用root权限安装软件: 输入:sudo -i 输入密码(上篇安装linux虚拟机时设定的登录密码,也是超级管理员密码) ...
- Linux之保留yum安装软件后的RPM包
yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改为1即可,然后 ...
- linux rpm yum 安装 软件
rpm 安装: 1.rpm包的了解: rpm 安装 升级 删除 rpm -ivh ****.rpm 安装 rpm -Uvh ****.rpm 升级 rpm -e name 删除 ...
- Linux - yum 安装软件时被 PackageKit 锁定
问题描述 yum 安装软件的时候报错 sudo yum install netease-cloud-music 已加载插件:fastestmirror, langpacks /var/run/yum. ...
- CentOS中yum安装软件时报错:No package XXX available
yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...
- yum install错误 系统环境:Oracle Linux5.4 在通过yum安装软件时出现以下错误:
1.yum配置文件 1 [root@rh168 yum.repos.d]# cat yum.repo 2 [base] 3 name=Oracle linux 4 baseurl=file:/// ...
- CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件
CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件 **不断尝试,终能到达彼岸** 测试环境为Win7 32位,VirtualBOx4.2.16+CentOS6.5,可分别到virt ...
随机推荐
- 免费iOS第三方推送工具Urban Airship使用教程
本文转载至 http://blog.csdn.net/mamong/article/details/8542404 http://www.dapps.net/dev/iphone/ios-free ...
- c++ 类初始化
一. 成员初始化列表的位置. 成员初始化列表的位置位于构造函数的函数体和参数表之间.构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式,初始化 ...
- 【BZOJ5060】魔方国 特判
[BZOJ5060]魔方国 Description 小奇和魔法猪打开了战狂的遗迹,穿越到了东元20年.东元元年,战狂率领一千万士兵毁灭了一个又一个文明,并建立起了新文明——昌和帝国,招募了八位伟人:大 ...
- @Override must override a superclass method 有关问题解决
1.Java开发环境时 如果在使用Eclipse开发Java项目时,在使用 @Override 出现以下错误: The method *** of type *** must override a s ...
- 一个页面从输入URL到页面加载完成发生了...待细化
一个页面从输入URL到页面加载完成发生了... 1.查找浏览器缓存 2.寻址:DNS解析 查找该域名对应的IP地址, 如果需要重定向(301),则再次发起请求 3. 进行HTTP协议会话 4.客户端发 ...
- 第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务
1. set类型的命令操作: (1)sadd命令:向key指定的set集合添加成员 ##sadd命令:是设置set集合类型的数据,sadd <key> <mumber> [& ...
- centos7.3下使用yum 安装pip
centos下安装pip时失败: No package pip available.Error: Nothing to do 解决方法: 需要先安装扩展源EPEL. EPEL(http://fedor ...
- python中open函数的使用
转自:https://www.cnblogs.com/R-ling/p/8412578.html 一.open()的函数原型open(file, mode=‘r', buffering=-1, enc ...
- 打印出所有的"水仙花数"
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...
- swift 值得学习的项目
http://www.php100.com/html/it/biancheng/2015/0112/8329.html