Shell获取目录下文件名后缀并操作

Posted 大雨海棠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell获取目录下文件名后缀并操作相关的知识,希望对你有一定的参考价值。

1.文件名、文件后缀获取.

已有文件  FILE="example.tar.gz",获取文件名和文件后缀方式如下:
 
echo "${FILE%%.*}"
# => example
 
echo "${FILE%.*}"
# => example.tar
 
echo "${FILE#*.}"
# => tar.gz
 
echo "${FILE##*.}"
# => gz

2.对目录下特定文件类型进行操作

选定某目录下文件后缀为.sh的文件,将其改为后缀为.c的文件,脚本如下

#!/bin/bash

for file in $(ls ./)
do 
    if [ "${file##*.}" = "sh" ]; then
        mv ${file} ${file%.*}.c
    fi
done

注意点:在shell语句判断中 [ "${file##*.}" = "sh" ]  等号两边都要有空格,等号两边变量需要用“”,中括号两边要有空格。

 

以上是关于Shell获取目录下文件名后缀并操作的主要内容,如果未能解决你的问题,请参考以下文章