シェルコマンドの出力の最初の行を取得する 質問する

シェルコマンドの出力の最初の行を取得する 質問する

のバージョン番号を読み取ろうとするとvim、無視する必要がある追加行が多数表示されます。 のマニュアルを読んでhead、次のコマンドを試しました。

vim --version | head -n 1

これが正しいアプローチかどうか知りたいです。

ベストアンサー1

はい、それはコマンドから出力の最初の行を取得する 1 つの方法です。

コマンドが標準エラーに何か出力し、それを同じ方法でキャプチャする場合は、コマンドの標準エラーを標準出力ストリームにリダイレクトする必要があります。

utility 2>&1 | head -n 1

最初の行をキャプチャする方法は他にもたくさんあります。sed 1q(最初の行の後に終了する)、sed -n 1p(最初の行のみを印刷するが、すべてを読み取る)、awk 'FNR == 1'(最初の行のみを印刷するが、これもすべてを読み取る) などです。

おすすめ記事