首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据目录名创建文件名的zsh展开

根据目录名创建文件名的zsh展开
EN

Stack Overflow用户
提问于 2015-03-30 13:17:53
回答 1查看 156关注 0票数 0

我试图使用pandoc将一个目录中的所有.markdown文件编译成一个pdf,其中pdf的名称是目录名,加上一个空格和notes.pdf。如果我硬编码pdf名称,我可以将所有的标记文件编译成一个pdf,但是当我尝试生成pdf名称时,它会失败。

例如,如果我在一个文件路径为path/to/markdown files的目录中,我希望编译成一个名为markdown files notes.pdf的pdf。

我尝试了以下几点:

代码语言:javascript
复制
pandoc *.markdown -o $PWD notes.pdf

错误- "Pandoc可以转换为PDF,但不能从PDF转换。“

代码语言:javascript
复制
pandoc *.markdown -o ${PWD notes.pdf}

错误--“糟糕的替代”

代码语言:javascript
复制
pandoc *.markdown -o '$PWD notes.pdf'

生成一个名为$PWD(:t) notes.pdf的pdf

代码语言:javascript
复制
pandoc *.markdown -o $PWD" notes.pdf"

错误=“未找到匹配”

有人知道我该怎么做吗?

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-30 14:07:26

$PWD:t扩展到当前目录的基本名称。这需要非引用或双引用,而不是单引号,因为单引号阻止扩展.这个空格也需要引用,因为它是文件名的一部分。

代码语言:javascript
复制
pandoc -o "$PWD:t notes.pdf" *.markdown

注意,这使用zsh语法。如果在普通sh (例如,makefile)中需要这样做,可以使用

代码语言:javascript
复制
pandoc -o "${PWD##*/} notes.pdf" *.markdown

(在makefile中,加倍$。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29347263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档