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获取目录下文件名后缀并操作的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本,怎样将某个目录下的所有文件的后缀改为.bak

shell获取目录下所有文件夹的名称并输出

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段

截取文件名但去掉后缀名

常用python日期日志获取内容循环的代码片段