[解決済み】STDOUTのn行目を取得するコマンド
2022-04-03 16:49:44
質問
STDOUTのn行目を取得するbashコマンドはないのでしょうか?
つまり、これを受け取るようなものです。
$ ls -l
-rw-r--r--@ 1 root wheel my.txt
-rw-r--r--@ 1 root wheel files.txt
-rw-r--r--@ 1 root wheel here.txt
というようなことをします。
$ ls -l | magic-command 2
-rw-r--r--@ 1 root wheel files.txt
再利用を目的としたスクリプトを書くときには、これは悪い習慣であることは理解していますが、シェルで毎日作業するときには、このような方法でSTDOUTをフィルターすることができると便利です。
また、これは半自明なコマンド(STDOUTをバッファリングし、特定の行を返す)であることは分かっていますが、何か 標準 シェルコマンドは、私がスクリプトを作成しなくても利用可能です。
解決方法は?
使用方法
sed
を、バラエティ豊かにするためです。
ls -l | sed -n 2p
この方法は、必要な行が表示された時点で入力を読むのを止めるので、より効率的に見えますが、送り出し処理でSIGPIPEを発生させ、その結果不要なエラーメッセージを発生させる可能性があります。
ls -l | sed -n -e '2{p;q}'
よく見かけるので、普段は最初の方(とにかく入力しやすい方)を使っていますが
ls
はSIGPIPEを取得しても文句を言うようなコマンドではありません。
行の範囲の場合。
ls -l | sed -n 2,4p
複数の範囲の行に対応。
ls -l | sed -n -e 2,4p -e 20,30p
ls -l | sed -n -e '2,4p;20,30p'
関連
-
[解決済み】if [](角括弧)の「[: 引数が多すぎる」エラーの意味)
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] 出力をファイルや標準出力にリダイレクトする方法
-
[解決済み] 標準出力ではなく標準エラー出力にパイプを通すにはどうしたらいいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドラインからの 'git commit -m' に改行を追加する
-
[解決済み] ファイルからn行目を取得するBashツール
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] テスト
-
[解決済み] bashの文字列の等値性テストで、予期しない演算子エラーが発生するのはなぜですか?重複
-
[解決済み] rsyncです。--include-from vs. --exclude-from 実際の違いは何ですか?
-
[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
-
[解決済み] 構文エラー:オペランドが期待される(エラーメッセージは "+")。
-
[解決済み] シンプルなAsciiテーブルをCSVに変換する【終了】。
-
[解決済み] シェルスクリプトで整数式が期待されるエラー
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"