0
我在Windows机器上使用Cygwin从远程Linux机器获取一些信息并将结果写入文件。这是我的命令:cygwin awk打印为文件名添加了奇怪的字符
ssh [email protected] ps -aef | grep vnc | grep -v grep | awk '{print "<size>"$11"<\/size>""\n""<colorDepth>"$13"<\/colorDepth>"}' > myfile.txt
然而,当我再运行
ls -l
在哪里myfile.txt中写的目录
,则说明该文件的名称实际上是myfile.txt的?(附加问号)。哪里是多余的字符来自我怎样才能得到正确的打印代码文件命名为简单的myfile.txt
我会运行另一个命令,如
mv myfile.txt? myfile.txt
或
mv myfile.txt^M myfile.txt
但在我的bash脚本中,似乎都没有找到要重命名的文件(尽管有趣的是我可以从终端(不在脚本中)开始输入
mv myf
然后选项卡完成该文件的查找,然后用新文件名完成该行并成功重命名该文件。
没有文件名称的问题在我的cygwin中,名称'myfile.txt'是正确的。一个建议在awk命令中使用printf:'ssh user @ remotemachine ps -aef | grep vnc | grep -v grep | awk'{printf'%s \ n %s \ n“,$ 11,$ 13}'> myfile.txt' –
BMW
命令是否在脚本中?您可能想要查看'od -cx
此:
可以被改写为:
为了防止
grep
不觉得自己在ps
使用[first letter]
和
awk
可以做到这一点来源
2014-01-16 06:14:15 Jotne