我想分别获取文件名(没有扩展名)和扩展名.
我到目前为止找到的最佳解决方案是:
NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`
Run Code Online (Sandbox Code Playgroud)
这是错误的,因为如果文件名包含多个.字符,它将不起作用.如果,让我们说,我有a.b.js,它会考虑a和b.js,而不是a.b和js.
它可以在Python中轻松完成
file, ext = os.path.splitext(path)
Run Code Online (Sandbox Code Playgroud)
但是如果可能的话,我宁愿不为此启动Python解释器.
有更好的想法吗?
假设我有字符串1:2:3:4:5,我想得到它的最后一个字段(5在这种情况下).我如何使用Bash做到这一点?我试过cut,但我不知道如何指定最后一个字段-f.
我正在用bash编写一个每晚构建脚本.
一切都很好,花花公子除了一个小小的障碍:
#!/bin/bash
for file in "$PATH_TO_SOMEWHERE"; do
if [ -d $file ]
then
# do something directory-ish
else
if [ "$file" == "*.txt" ] # this is the snag
then
# do something txt-ish
fi
fi
done;
Run Code Online (Sandbox Code Playgroud)
我的问题是确定文件扩展名,然后相应地采取行动.我知道问题出在if语句中,测试txt文件.
如何确定文件后缀是否为.txt?