如何让cygpath从文件中获取输入

How to get cygpath to take input from file

对于这个问题,我提前表示歉意,但我现在真的很困惑,我只是祈祷有人能帮助我。

我有一系列 c 文件,我需要在大约 100 个子目录中一次检查一个文件,每个文件名为 balance.d、balanced.c 或 balancer.c。我已经使用 find . -name "balance*" 获得了它们的列表,我可以使用 sed -n [NUM]p 选择其中一个。这是一个使用 Cygwin 的 Windows 环境,这些目录都是通过 Dropbox 与其他人共享的。路径经常涉及空格,我 运行 遇到了麻烦。

我知道 cygpath -sw 会给我没有空格的路径。我的最终目标是能够抓取每个文件,一次一个 gcc path/to/file.c -o ./a.exe

现在,我有

cygpath -sw $(echo find . -name "balance*" | sed -n 2p | awk '{gsub(/ /,"\ ")}8')

...但是 cygpath 不会让我过去的空间。它给我一个错误

awk: cmd. line:1: warning: escape sequence `\ ' treated as plain ` '

在您的命令替换周围加上引号,否则它的结果将接受 work splitting

另外,您对 AWK 部分所做的操作也不需要。

您正在使用以下参数调用 echo 命令:

[find] [.] [-name] [balance*]

你想让它调用什么查找命令:

cygpath -sw "$(find . -name "balance*" | sed -n 2p)"