当我们输入一个包含路径信息的文件时,有时我们只需要路径信息,有时只需要文件名,有时只需要文件类型,那么怎样才能更快的获得这些信息呢。linux系统下提供了很好的解决方法。
用%进行截取(从右侧开始截取)
去除文件的部分扩展名:name=$ #用%截取文件名,表示删除最后一个.及其右边的字符串,如文件为/dir/test.fq.gz,则会返回/dir/test.fq
去除文件的全部扩展名:name=$ #用%%截取文件名,表示删除第一个.及其右边的字符串,如文件为/dir/test.fq.gz,则会返回/dir/test
获取文件路径:name=$ #用%截取文件名,表示删除最后一个/及其右边的字符串,如文件为/dir/test.fq.gz,则会返回/dir
用#进行截取(从左侧截取)
获取文件名:extension=$ #用#截取文件名,表示删除第一个.及其左边的字符串,如文件为/dir/test.fq.gz,则会返回fq.gz
获取文件扩展名:extension=$ #用##截取文件名,表示删除最后一个.及其左边的字符串,如文件为/dir/test.fq.gz,则会返回gz
总结:%和#都用于字符串截取,%表示右侧截取,%表示从最后一个开始,%%表示从第一个开始,#表示从左侧截取,#表示删除第一个,##表示删除最后一个,注意两者区别,使用时灵活使用即可
领取专属 10元无门槛券
私享最新 技术干货