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

时间:2016-03-20 20:06:44

标签: bash awk sed cygwin cygpath

我提前为这个问题道歉,但我现在真的被困住了,我只是在祈祷那里有人可以帮助我。

我有一系列c文件,我需要在大约100个子目录中一次检查一个,每个子目录名为balance.d,balanced.c或balancer.c。我已使用find . -name "balance*"获得了一个列表,我可以使用sed -n [NUM]p选择其中一个。{1}}。这是一个使用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&#39)

...但是cygpath赢得了我过去的空间。它给了我一个错误

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

1 个答案:

答案 0 :(得分:1)

在您的命令替换周围加上引号或其结果将经历work splitting

此外,您不需要使用AWK部件。

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

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

您希望它调用find命令:

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