当 $CWD 包含空格或特殊字符时,使用 UNIX find 生成 TAGS 文件
下面的 UNIX 单行代码会查找 CWD 下面的 Python 文件,并将它们添加到 Emacs 的 TAGS 文件中(或者我们可以对 Ctags 执行相同的操作)。
find . -name *.py -print | xargs etags
如果 CWD 的名称中包含空格或其他异常字符,则会中断此操作。不管 man find
怎么说,-print0
或 -ls
似乎没有帮助。有没有一个巧妙的方法来解决这个问题?
The following UNIX one-liner looks for Python files below the CWD and adds them to a TAGS file for Emacs (or we could do the same with Ctags).
find . -name *.py -print | xargs etags
This breaks if the CWD has a space or other unusual character in its name. -print0
or -ls
don't seem to help, in spite of what man find
says. Is there a neat way around this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该可以解决这个问题——您需要 xargs 的
-0
arg 来正确匹配-print0
。编辑
如果当前目录中有任何 .py 文件,您可能还需要
*.py
周围的引号。should do the trick -- you need the
-0
arg to xargs to match the-print0
properly.edit
you probably need the quotes around
*.py
as well, if there are any .py files in the current directory.