从Windows shell命令结果中修剪空格

时间:2012-12-20 20:17:19

标签: windows shell

我正在尝试编写一个快速批处理文件。它将获取命令的结果,在其周围添加一些额外的文本和引号,并将其放入新文件中。问题是我正在运行的命令的结果包括一个新行。这是命令:

p4 changelists -m 1 -t //depot/...> %FILENAME%

p4命令的输出在其末尾有一个换行符。我要放入的文件需要包含该命令输出的引号,但是命令中包含换行的事实意味着“关闭引号”出现在文件的新行中,而不是为我正在做的事情工作。

我尝试将该命令的输出写入文件并将其读回,并尝试在包含输出的文件上运行FINDSTR,但我似乎总是回到愚蠢的尾随空格。我甚至尝试将退格插入到文件中,但这只是将退格符放入文件而不是实际执行退格...

有什么事要做吗?

1 个答案:

答案 0 :(得分:1)

我不是perl精灵,但以下似乎有效:

p4 changelists -m 1 -t //depot/...| perl -p -e "s/^/\042/;s/$/\042/"

查看Strawberry Perl,它提供了Windows版本的Perl。

在解决这类问题时,我总是在查看我的Unix工具,即使在Windows下也是如此。 sed和gawk也会帮助你,查看msysgit以获得一系列可在Windows上运行的Unix工具。