エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
検索対象文字列に一致した行と前の行も出力するプログラム - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
検索対象文字列に一致した行と前の行も出力するプログラム - Qiita
// pattern 検索対象文字列 // lines ファイルを一行ずつ読み込んだ結果が流れてくるチャンネル func gr... // pattern 検索対象文字列 // lines ファイルを一行ずつ読み込んだ結果が流れてくるチャンネル func grepBefore(pattern, lines chan string){ n := 2 // 保持しておく行数 buf := []string{} // 保持用のスライス for line := range lines { // 指定保持数を超えたら一番前の行を保持用スライスから削除 if len(buf) > n { buf = buf[1:] } buf = append(buf, line) // 現在の行にpatternが含まれているならば、出力処理を行う if strings.Contains(line, pattern) { for _, l := range buf { fmt.Println(l) } // bufを空にする buf = buf[: