【问题标题】:How to create a zip then rename with shell?如何创建一个 zip 然后用 shell 重命名?
【发布时间】:2014-02-02 09:05:00
【问题描述】:

我一直在尝试弄清楚如何使用 Mac OSX Automator 执行此操作,并且已经到了可以使用 shell 脚本创建单个 zip 文件的地步,但我不知道如何重命名我自动创建的 zip 文件。

我正在尝试:

  1. 将一堆 .mp3 压缩到一个文件夹中作为单独的 zip 文件(已成功完成此部分)
  2. 在这些 zip 文件前添加“ibm-”并将整个文件名设置为“websafe”,即删除空格、将下划线转换为连字符并将所有大写字母转换为小写

这是我目前拥有的 shell 脚本,我只需要弄清楚如何对生成的 zip 文件执行第 2 点,我有点迷路了!

Shell 脚本

for f in "$@" 
do 
    zip -j "$f.zip" "$f"
done

你能帮忙吗?

谢谢

奥苏

【问题讨论】:

  • 压缩 mp3 是否获得了很大的压缩?我不认为音频文件会有太多冗余来证明压缩是合理的。
  • 我认为空格和下划线是完全网络安全的。您是说新闻组安全吗?
  • 大家好,这不是出于压缩原因,这些正在进行的站点需要以 zip 文件的形式上传 - Rembunator,Linux 系统上的空格可能会导致问题,我被告知为什么我要尝试尽量减少潜在问题

标签: bash shell osx-mavericks automator


【解决方案1】:

我认为这应该可行:

for f in "$@" 
do 
    n=$(echo "$f"|sed "s/ //"|sed "s/_/-/"|awk '{print tolower($0)}')
    zip -j "ibm-$n.zip" "$f"
done

使用 sed,您可以替换字符串中的字符。你可能想谷歌它。这绝对值得。

【讨论】:

  • 谢谢你 - 在 Automator 中运行它说有一个错误......有什么想法吗?它也没有告诉我到底出了什么问题……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
相关资源
最近更新 更多