如何将 cscope 与包含空格的路径一起使用

发布于 2024-09-08 16:31:20 字数 442 浏览 7 评论 0原文

有些文件夹包含空格,因此无法使用 cscope 为这些文件夹建立索引。

我可以请求您帮助解决这个问题,或者有任何建议吗?

谢谢 朱利叶斯


谢谢你的回复。

我使用 cscope 的步骤如下所示

  • find 。 -name '*.scala'>cscope.files
  • cscope -b
    在这一步。我看到消息表明找不到文件:
    cscope:找不到文件/work/project/copy
    cscope: 找不到
    文件 cscope:找不到文件 fp/src/main/jav...
    实际上 fp 的副本是一个文件夹。所以我认为 cscope 无法识别该文件夹包含空间。

当我尝试将 vim 与 cscope 一起使用时,我遇到了这个问题。也许我需要将此问题移至其他标签。

There are some folder that contains space, and as a result, those folders can not be indexed using cscope.

Can i ask you for help to solve this,or any suggestion.

thanks
Julius


Thanks for your reply.

My steps to use cscope like the following

  • find . -name '*.scala'>cscope.files
  • cscope -b
    at this step. i see the message indicates that can not find file:
    cscope: cannot find file /work/project/copy
    cscope: cannot find file of
    cscope: cannot find file fp/src/main/jav....
    Actually copy of fp is a folder.so i think cscope can not recognize the folder contains space.

I encountered this problem when i tried to use vim with cscope.maybe i need move this question to other tag.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

铜锣湾横着走 2024-09-15 16:31:20

您至少可以简单地使用 GNU find 来完成此操作,您可以使用 -printf-fprintf 选项:

find . -type f -fprintf cscope.files '"%p"\n'

You can do it simply using GNU find at least, you can use the -printf or -fprintf options for that:

find . -type f -fprintf cscope.files '"%p"\n'
嘴硬脾气大 2024-09-15 16:31:20

pydave的回答很慢。这种方式花了 0.10 秒,而 pydave 的答案花了 14 秒:

find . -name "*.scala" | awk '{print "\""$0"\""}' > cscope.files

pydave's answer is very slow. This way took 0.10s where pydave's answer took 14s:

find . -name "*.scala" | awk '{print "\""$0"\""}' > cscope.files
明月夜 2024-09-15 16:31:20

您可以使用 find 的 -exec 强制在输出中加上引号:

find . -name "*.scala" -exec echo \"{}\" \; > cscope.files

如果您从脚本中执行此操作,则可能需要搞乱引用/转义。

You can use find's -exec to force quotes around your output:

find . -name "*.scala" -exec echo \"{}\" \; > cscope.files

You might need to mess around with quoting/escaping if you're doing this from a script.

不必在意 2024-09-15 16:31:20

双引号文件名在 cygwin 中有效,而用反斜杠转义则不行。

$ find $PWD -name "*.scala" | sed -e 's/^/"/g' -e 's/$/"/g' > cscope.files

Double quoting the files names works in cygwin, where as escaping with backslash does not.

$ find $PWD -name "*.scala" | sed -e 's/^/"/g' -e 's/$/"/g' > cscope.files
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文