微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-GNU Parallel-将输出重定向到具有特定名称的文件

在bash中,我正在运行GnuPG来解密某些文件,并且我希望将输出重定向到具有相同名称但具有不同扩展名的文件.基本上,如果我的文件名为

file1.sc.xz.gpg

运行GnuPG工具后出现的文件,我想存储在另一个名为

file1.sc.xz 

我目前正在尝试

find . -type f | parallel "gpg {} > {}.sc.xz"

但这会导致一个名为file1.sc.xz.gpg.sc.xz的文件.我怎样才能做到这一点?

以后的编辑:我想在一个bash命令中执行此操作,而无需事先知道文件名.

解决方法:

您可以使用bash变量扩展来切断扩展名:

$f=file1.sc.xz.gpg
$echo ${f%.*}
file1.sc.xz

例如.:

find . -type f | parallel bash -c 'f="{}"; g="${f%.*}"; gpg "$f" > "$g"'

或者,使用parallel的扩展:

find . -type f | parallel 'gpg "{}" > "{.}"'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐