grep この systemctl の形式を壊します。

grep この systemctl の形式を壊します。

grepなしでsystemctlコマンドを呼び出すと、フォーマットが正しく表示されます。

ここに画像の説明を入力してください。

それでは、「糸」だけで行をフィルタリングしたいと思います。しかし、今回は行が2つの部分に分割されます。

ここに画像の説明を入力してください。

コンソールの幅が2倍になると同じことが起こります。この問題をどのように解決できますか?

ベストアンサー1

systemctlの出力が端末に送信されない場合、例えばにパイプすると、grep出力の各列がリストの最長項目に収まるように必要に応じて大きくなります。これがまさにここで起こるものです。セルリストの一部のセルに名前が非常に長く、すべてのセルの出力を並べ替えると、yarn.service間に大きなスペースが作成されますloaded failed failed

セル出力をフィルタリングするには、systemctl組み込みパターンマッチングを使用してください。

sudo systemctl list-units '*yarn*'

grepこのオプションを使用して取得した行に出力を制限し--no-legend、このオプションを使用して色や特殊文字を使用せずにポケットベルを起動--plainしないようにすることができます--no-pager

sudo systemctl list-units --plain --no-legend --no-pager '*yarn*'

複数のパターンを指定でき、結果にはすべてのパターンに一致する項目が含まれます。

sudo systemctl list-units --plain --no-legend --no-pager '*yarn*' '*hdfs*'

特定のデバイスの状態を取得するには、より良いサブコマンドがあります。サービスがスクリプトで実行されているかどうかをテストする「正しい」方法

おすすめ記事