gpg仅加密文件夹中的某些文件

时间:2013-01-09 22:40:18

标签: bash gnupg

文件夹中有15个文件,都带有gz扩展名。我想加密其中的12个并跳过3个文件。有没有办法做到这一点?所有文件名都不同,可能也可能不以同一个字母开头。 目前正在做:

gpg -r 'name' --encrypt-files  $source/*.gz

说文件名是apple.gz,alabama.gz,butter.gz,cake.gz,dog.gz,eagle.gz,oregon.gz,somename.gz;

我想用一个gpg命令加密除alabama.gz和somename.gz之外的所有文件; 我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

正如您所知道的(根据您发布的内容),Bob的回答是错误的,说您无法使用一个命令加密多个文件。

你几乎拥有自己的命令行;你需要一点小小的诡计,例如:

gpg -r recip --encrypt-files $(ls $source/*.gz | egrep -v 'alabama|somename')

答案 1 :(得分:2)

实际上,如果要加密文件夹中的所有文件,可以使用单个命令加密多个文件。

gpg -r 'name' --encrypt-files *.gz

工作得很好。如果你想跳过这两个文件,Ryan的答案是正确的。

斯科特

答案 2 :(得分:-2)

您无法使用单个gpg命令加密多个文件。但是,您可以tar将它们全部放入存档中,然后加密结果。有关详细信息,请参阅UNIX站点上的this similar question

在任何情况下,您都需要列出要包含的文件。