Grep 명령에 개행 문자 추가

Grep 명령에 개행 문자 추가

줄 바꿈을 어떻게 추가할 수 있나요? 카테고리를 표시하고 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

catwith 를 사용할 필요가 없으며 grep명령을 그룹화하여 리디렉션을 한 번만 넣을 수 있습니다.

{
  grep OpenFin < LoginExInternal.txt && echo 
  grep Chrome < LoginExInternal.txt && echo
  grep memoryInfo:jsHeapSizeLimit:1 < MemoryUnderThreshold.txt && echo
} >> LoginExcInternal.txt

또한 Join all 명령을 사용하는 경우 &&grep이 실패하면 다음 명령이 중지되고 echo나머지 명령도 grep실행되지 않습니다. 이것은 당신이 원하는 것일 수도 있고 아닐 수도 있습니다. 위와 같이 사용하면 어떤 경우에도 모든 s가 실행 grep && echo되지만 grep, 일치하는 항목이 있는 경우에만 추가 개행 문자를 인쇄합니다 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

관련 정보