【问题标题】:Shell script - trim file nameShell 脚本 - 修剪文件名
【发布时间】:2015-07-24 09:27:56
【问题描述】:

我对 shell 脚本有非常基本的了解。我需要你的帮助来解决这个问题。 要求是我的文件名 - CA_Trigger_BAOSFeed_240615062341.zip 我需要的输出 - “CA_Trigger_BAOSFeed_”以及 我想从文件名中删除时间戳,并使用 shell 脚本动态附加这个时间戳 250615072235

您能否分享一下您对此的了解。

【问题讨论】:

  • 什么外壳? Windows、cmd.exe comand.com 或 som eunix shell?
  • 它的 unix shell 脚本 Andre

标签: linux shell sh filenames trim


【解决方案1】:

sed 和正则表达式的力量来实现是微不足道的:

$ echo 'CA_Trigger_BAOSFeed_240615062341.zip' | sed 's|[0-9]\+|250615072235|'
CA_Trigger_BAOSFeed_250615072235.zip

在这里,我用字符串 250615072235 替换(第一次出现的)文件名中的数字。

【讨论】: