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で改行がどのように処理されるのか、つまりキャリッジリターンを明示的に印刷する必要があるのか​​わかりません。

おすすめ記事