我提前为这个问题道歉,但我现在真的被困住了,我只是在祈祷那里有人可以帮助我。
我有一系列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 ` '
答案 0 :(得分:1)
在您的命令替换周围加上引号或其结果将经历work splitting。
此外,您不需要使用AWK部件。
您正在使用以下参数调用echo
命令:
[find] [.] [-name] [balance*]
您希望它调用find命令:
cygpath -sw "$(find . -name "balance*" | sed -n 2p)"