如何添加一些换行符?我希望它显示OpenFin
类别,有一个换行符,Chrome
类别,另一个换行符,然后memoryInfo
。
这是我到目前为止所拥有的:
cat LoginExInternal.txt | grep OpenFin >> LoginExcInternal.txt | echo $'\r'
&& cat LoginExInternal.txt | grep Chrome >> LoginExcInternal.txt | echo $'\r'
&& cat MemoryUnderThreshold.txt | grep memoryInfo:jsHeapSizeLimit:1 >> LoginExcInternal.txt | echo $'\r'
但我似乎无法将其放入新行,这echo $'\r'
似乎不起作用。请告诉我如何修改才能使其正常工作。
答案1
您不需要使用cat
with grep
,并且可以将命令分组以仅将重定向放置在那里一次:
{
grep OpenFin < LoginExInternal.txt && echo
grep Chrome < LoginExInternal.txt && echo
grep memoryInfo:jsHeapSizeLimit:1 < MemoryUnderThreshold.txt && echo
} >> LoginExcInternal.txt
另请注意,如果您使用 加入所有命令&&
,则失败的 grep 将停止以下命令echo
,而且还会停止其余命令grep
的运行。这可能是也可能不是您想要的。如上所述使用grep && echo
将grep
在任何情况下运行所有 s,但仅在匹配某些内容时打印额外的换行符grep
。
$'\r'
另外,我不太确定 cygwin 中如何处理换行符,也就是说,是否需要显式打印出回车符。
答案2
这似乎有效。我不确定是否有更简单的方法来做到这一点:
grep OpenFin LoginExInternal.txt >> LoginExcInternal.txt &&
echo $'\r' >> LoginExcInternal.txt &&
grep Chrome LoginExInternal.txt >> LoginExcInternal.txt &&
echo $'\r' >> LoginExcInternal.txt &&
grep MemoryUnderThreshold.txt memoryInfo:jsHeapSizeLimit:1 >> LoginExcInternal.txt