如何从PowerShell输出中删除多余的空格?

时间:2013-12-10 13:55:58

标签: apache powershell ssh

我正在使用Powershell ssh到我的Linux服务器并拖尾我的apache日志文件。

ssh user@domain.tld -p800 -i ..ssh \ id_rsa_test tail / var / log / httpd / access_log -fn0> test.log中

当拖尾文本看起来很好时,打开文件时我将文本传输到它看起来很好。

我正在管道输出的应用程序失败。当我拖尾文件时,我会看到每个字符用空格分隔。

使用没有参数的out-file会做同样的事情。当我将记事本中的文件内容剪切并粘贴到另一个记事本文件时,另一个应用程序可以读取它。我该如何解决这个问题?

以下是我所指的样本:

  

d o m a i n。 7月7日。 2 2 4。 2 4 9。 1 7 - - [1 0 / D e   c / 2 0 1 3:0 7:5 0:5 6 - 0 6 0 0]“G E T / v a n e / v   我喜欢你。 p?p? f = 1& s i d = 3 b 4 3 b d 9 9 9 a 7 d b 2   0 c 6 6 9 7 5 b 2 3 8 2 4 a 9 6 1 9 H T T P / 1。 1“2 0 0 9 3   7 6“h t t p:/ / w w w.d o m a i n.c o m / j a n e / v i e   w t o p i c。 p?p? f = 1& t = 8 0 2 3& p = 3 4 3 4 5 0&我=   3 b 4 3 b d 9 9 9 a 7 d b 2 0 c 6 6 9 7 5 b 2 3 8 2 4 a 9 6 1 9“”   M o z i l l a / 4。 0(c o m p a t i b l e; M S I E 8. 0;
  我知道N T 6。 0; W O W 6 4; T r i d e t / 4。 0;   G T B 7。 5; S L C C 1; 。 N E T C L R 2。 0。 5 0 7 2 7;
  我是一个C e n t e r P C 5。 0; 。 N E T C L R 3。 5。 2   1 0 2 2; 。 N E T C L R 3。 5。 3 0 7 2 9; M D D C; 。 N E.   T C L R 3。 0。 3 0 7 2 9; 。 N E T 4。 0 C; B R I / 1;乙   R I / 2)“d o m a i n.c o m 5.9。1 0 6.2 4 1 - - [1   0 / D e c / 2 0 1 3:0 7:5 0:5 8 - 0 6 0 0]“G E T / r o   不管怎样t x t H T T P / 1。 0“2 0 0 - ” - “”M o z i l   l a / 5。 0(简称:M J 1 2 b o t / v 1.4.4;   h t t p:/ / w w w。我是一个2 2。 c o。你好。 p p   ? +)“

1 个答案:

答案 0 :(得分:1)

如果您通过out-file,set-content或add-content管道我们的输出,您可以使用-Encoding参数强制它为ASCII:

ssh user@domain.tld -p800 -i ..ssh\id_rsa_test tail /var/log/httpd/access_log -fn0 | Add-Content  test.log -encoding ASCII

ssh user@domain.tld -p800 -i ..ssh\id_rsa_test tail /var/log/httpd/access_log -fn0 | Set-Content  test.log -encoding ASCII

ssh user@domain.tld -p800 -i ..ssh\id_rsa_test tail /var/log/httpd/access_log -fn0 | Out-File  test.log -encoding ASCII