获取全路径文件名的文件名/文件位置/文件的后缀名/文件的前缀

在Shell编程中,可以结合使用`readlink`和`basename`命令来获取文件的完整路径、文件名、后缀名和前缀。例如,通过`readlink`获取设备驱动模块的符号链接目标,然后利用`basename`去除路径,仅保留模块名称,如`e1000`。
摘要由CSDN通过智能技术生成

在shell编程中,对于path file name,我们可能需要从该字符串中提取出文件所在路径/文件名/文件后缀名/文件前缀,方法实现如下所示:

    $ pfName=/home/user/test.txt

    # 获取全路径文件名
    $ echo $pfName
    /home/user/test.txt

    # 获取文件名
    $ echo ${pfName##*/}
    test.txt

    # 获取该文件的位置
    $ echo ${pfName%/*}
    /home/user

    # 获取文件的后缀名
    $ echo ${pfName##*.}
    txt

    # 仅仅获取文件的前缀
    $ echo ${pfName##*/} | sed -r 's/^(.*)\..*$/\1/g'


readline 和 basename命令的使用

在sysfs目录下描述该设备的子目录中,有一个到包含这个驱动的模块的符号链接module。我们要的是这个符号链接的目标。可以通过readline命令得到它,输出像这样:

$ readlink /sys/class/net/eth0/device/driver/module<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值