【问题标题】:How do you strip everything after a pattern in a filename?如何在文件名中的模式之后剥离所有内容?
【发布时间】:2017-09-22 04:05:07
【问题描述】:

编辑: 我只需要剥离.gz

SUBMIT joust_aallgeier_attempt_2015-11-12-20-37-40_project04.tar.gz

这些已经压缩了。 我需要project.tar 输出 我有以下剥离第一部分。

filename=${j##*_}

【问题讨论】:

  • 你能举出一些文件不工作的例子吗?看起来应该可以了。
  • 抱歉,一个逻辑问题让我把责任归咎于错误的事情。我需要从末尾剥离 .gz。
  • Holy jibbers 我需要了解为什么在 vars 上需要“” 这是我第二次因为这样的事情不工作而将我撞到墙上。谢谢大家。

标签: bash quoting parameter-expansion


【解决方案1】:

用 bash 的Parameter Expansion:

filename="SUBMIT joust_aallgeier_attempt_2015-11-12-20-37-40_project04.tar.gz"
stripped="${filename##*_}"
stripped="${stripped%.gz}"
echo "$stripped"

输出:

项目04.tar

【讨论】:

    猜你喜欢
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    相关资源
    最近更新 更多