Linux——有用的小函数

本文介绍了一个简单的bash脚本,用于遍历指定目录下以lenet_train_test开头并以.prototxt结尾的所有文件,并提取这些文件的名字。同时,文中还介绍了如何通过basename命令从完整路径中提取文件名的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历指定目录下的文件名

#!/bin/bash
traverse(){
    folder="/home/shipan/Work/MnistVariant/"
    for file in ${folder}*
    do
        filename=$(basename $file)  # file是包含路径的文件名全称,使用basename $file可以提取出文件名
        if [[ "${filename}" == lenet_train_test*.prototxt ]] # 模糊匹配时需要使用[[]],此处模糊匹配文件名以lenet_train_test开始以.prototxt结尾的文件
        then echo $filename
        fi
    done
}
traverse

Tips

使用dirname $file可以提取出目录.
如果运行shell脚本时报错[ :Unexpected operator或者[[: Permission denied请使用bash /path/script.sh,因为默认使用sh命令来运行脚本,但是sh中语句需要;.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值