相关疑难解决方法(0)

在Bash中提取文件名和扩展名

我想分别获取文件名(没有扩展名)和扩展名.

我到目前为止找到的最佳解决方案是:

NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为如果文件名包含多个.字符,它将不起作用.如果,让我们说,我有a.b.js,它会考虑ab.js,而不是a.bjs.

它可以在Python中轻松完成

file, ext = os.path.splitext(path)
Run Code Online (Sandbox Code Playgroud)

但是如果可能的话,我宁愿不为此启动Python解释器.

有更好的想法吗?

string bash filenames

1969
推荐指数
26
解决办法
143万
查看次数

如何在shell中拆分字符串并获取最后一个字段

假设我有字符串1:2:3:4:5,我想得到它的最后一个字段(5在这种情况下).我如何使用Bash做到这一点?我试过cut,但我不知道如何指定最后一个字段-f.

bash split cut tokenize

279
推荐指数
9
解决办法
36万
查看次数

如何在bash脚本中检查文件名的扩展名?

我正在用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?

bash scripting file

153
推荐指数
7
解决办法
20万
查看次数

标签 统计

bash ×3

cut ×1

file ×1

filenames ×1

scripting ×1

split ×1

string ×1

tokenize ×1