如何使用 7z 和“for file”进行多个文件输入?

如何使用 7z 和“for file”进行多个文件输入?

我在一个文件夹中有多个文件,例如:

1.txt
2.txt
3.txt
...
100.txt

我想使用 7z 压缩单个文件,生成 1.7z、2.7z 3.7z...我正在尝试使用这个:

for file in {1..100} ./{1..100}.txt; do 7z a $file; done

但没有运气。

或者,有没有办法自动使用 txt 名称?

答案1

最简单的方法可能是

for file in {1..100}; do 7z a "$file.7z" "$file.txt"; done

或者,您可以使用参数扩展${var%suf}删除后缀的形式例如

for file in {1..100}.txt; do 7z a "${file%.txt}.7z" "$file"; done

相关内容