linux - 如何在 linux 中压缩其中一个后立即批量删除同一文件夹中的 mp4 文件?

标签 linux bash command-line

我的 linux 空间只剩下 100M,我有 100 个 mp4 文件,每个文件都是 90M 大小,在同一个文件夹中。我想将它们压缩成一个 .zip 文件。当我只使用 zip -9 files.zip *.mp4 时,它会因为空间不足而出错。

我尝试了下面的 bash 脚本:

for f in $(ls *.mp4); do
    zip files.zip $f
rm -f $f
done

但是它说:

zip error: Nothing to do! (/var/www/test/files.zip)
    zip warning: name not matched: myvideoname

好的,我自己锻炼,这项工作:

tar -cvf files.tar *.mp4 --remove-files

最佳答案

这对我有效:

#!/bin/bash
for f in *.mp4; do
    zip files.zip "$f"
done

关于linux - 如何在 linux 中压缩其中一个后立即批量删除同一文件夹中的 mp4 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23190288/

相关文章:

python - 停止一个正在另一个 Python 脚本中运行的脚本

linux - 在 bash 配置文件中编写函数,从终端调用

python - 使用正确的密码解密受 aes-256 位保护的 pdf

linux - 如何使用 sed、awk 或其他 linux 命令合并来自两个文件的行

c - 通过/proc/$PID/smaps 在 Linux 内核中进行脏页统计

bash - 使用 bash set -e 时如何显示最后一个失败的命令?

maven - 即使 POM 打包指定了 WAR,我是否可以强制 Maven 构建 JAR?

c++ - 如何在C++中解析命令行参数?

linux - ldap修改: invalid format (line 4) entry: "olcDatabase={2},cn=config"

Linux 对 AD 的身份验证导致单一故障锁定