在 shell 命令行获取 绝对/相对 路径的不带扩展名的文件名

2020-09-03  本文已影响0人  迁柏

在命令行使用

如果有一个文件在某个目录下: tool/util/example.py
如果要获取它的不带扩展名的文件名:

file=tool/util/example.py
basename=`basename $file`
bbname=${basename%%.*}
echo $bbname

# tool/util/example.py 的输出结果:
example

这个办法对绝对、相对路径都有用

打包成一个 shell 程序来使用

打包成程序使用比较方便,特别是可以方便地用在其他 shell 脚本当中
把下面的代码保存在 bbname.sh 中:

file=$1
basename=`basename $file`
bbname=${basename%%.*}
echo $bbname

然后:

ln -s `pwd`/bbname.sh /usr/local/bin/bbname

如果没有写入/usr/local/bin 的权限,软链接到其他环境变量的目录下也可

在循环中使用非常方便,例如:

for file in `ls data/`;do
   basename=`bbname $file`
   Your command > newdir/$basename.out
done
上一篇 下一篇

猜你喜欢

热点阅读