• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
linuxコマンドラインツールによるテキストラインフィルタリングの方法
2022-01-26

表示するログなどのテキストファイルをフィルタリングするタスクが日常的に発生します。たとえば、ログファイルの最後の行を表示する必要があるなどです。次に、一般的なテキスト行のフィルタリング方法をまとめます。一緒に見に行きましょう。

共通コマンドラインツール

次に主にhead,tail,sed,awkというツールを使用します。ここでsedとawkツールは非常に強力で、テキストのフィルタリングに使用するには少し役に立たないかもしれませんが、基本的にすべてのタスクはheadとtailの2つのコマンドで完了することができ、headとtailの日常的な使用が便利です。

使用例

準備作業

次のコマンドを入力して、テスト用のファイルを生成します。

$ seq -f "Line No %g" 10 > lines.txt

テキストの最初の3行のみ表示

headコマンドで完了できます。具体的なコマンドと出力は次のとおりです。

$ head -n 3 lines.txt

Line No 1

Line No 2

Line No 3

あるいはsedコマンドで完了し、具体的なコマンドと出力は以下の通りです。

$ sed -n '1,3p' lines.txt

Line No 1

Line No 2

Line No 3

awkコマンドも完了できます

Line No 1

Line No 2

Line No 3

テキストの最後の3行のみ表示

tailコマンドを使用して完了します。具体的なコマンドと出力は次のとおりです。

$ tail -n 3 lines.txt

Line No 8

Line No 9

Line No 10

テキストの5行目から最後の1行のみを表示

tailコマンドを使用して実行する方法:

$ tail -n +5 lines.txt

Line No 5

Line No 6

Line No 7

Line No 8

Line No 9

Line No 10

sedコマンドで完了します。

$ sed -n '5,$p' lines.txt

Line No 5

--略--

Line No 10

awkで完了:

$ awk 'NR>=5' lines.txt

Line No 5

--略--

Line No 10

テキストの最後から3行目から1行目のみを表示

headで完成:

$ head -n -2 lines.txt

Line No 1

Line No 2

Line No 3

Line No 4

Line No 5

Line No 6

Line No 7

Line No 8

テキストの6行目から8行目のみを表示

headとtailの2つのツールを使用します。

Line No 6

Line No 7

Line No 8

sedの方法:

$ sed -n '6,8p' lines.txt

Line No 6

Line No 7

Line No 8

awkの方法:

Line No 6

Line No 7

Line No 8

奇数行または偶数行のみ表示

sedコマンドによる奇数行の生成

$ sed -n '1~2p' lines.txt

Line No 1

Line No 3

Line No 5

Line No 7

Line No 9

sedコマンド偶数行生成

$ sed -n '0~2p' lines.txt

Line No 2

Line No 4

Line No 6

Line No 8

Line No 10

awkコマンド奇数行の生成

$ awk 'NR%2' lines.txt

Line No 1

Line No 3

Line No 5

Line No 7

Line No 9

awkコマンド偶数行の生成

$ awk '(NR+1)%2' lines.txt

Line No 2

Line No 4

Line No 6

Line No 8

Line No 10

小結

linuxシステムの有名な特徴は、ほとんどのファイルがテキストファイルであることです。これらのファイルは、上記の方法で特定の行を表示することができます。また、linuxコマンドラインツールも非常に柔軟で、1つのタスクを完了するには、1つの方法だけでなく、多くの方法が実現できます。これもlinuxの面白い場所です。テキストフィルタリングではsedやawkコマンドには強力な使い方がたくさんありますが、興味があれば深く検討してみてください。


ソース元URL:https://dopubox.com/article/p/ecf212775243eb08

其他工具
  • 字元計數 TikTok 下載 抖音下載 BASE64 Base64 轉圖片 圖片轉 Base64 URL 編碼 JavaScript 時間戳 Unicode 轉換器 JSON 格式化 修改副檔名 製作列表 CSS 優化器 MD5 加密 隨機生成器 圖像壓縮 QR 碼生成器 QR 碼識別器 壁紙預覽 圖片 EXIF 血型遺傳 服裝尺寸 app.tool_clock
  • テレビ東京、不適切表現で謝罪 「激録・警察密着24時!!」
    2024-05-29

    「韓国版純烈」K4の「アダルトKポップ」 日本デビュー曲USEN1位も獲得 コアな追っかけも
    2024-05-30

    授業中の生徒や住民が弾道ミサイル飛来を想定した避難訓練 福島・須賀川桐陽高
    2024-05-31

    『マッドマックス:フュリオサ』に登場する「ある絵画」は何を意味しているのか? ギリシア神話と「ファム・ファタル」から考察する
    2024-06-01

    まだ無名だった作曲家エルガーが、婚約の贈り物として捧げた名曲【クラシック今日は何の日?】
    2024-06-01

    森鷗外の教師像に迫る 研究の「盲点」、記念館で特別展 学生の評判も紹介
    2024-06-01

    峰不二子役の増山江威子さん死去 声優、艶ある声でルパン翻弄
    2024-06-03

    文科相、佐渡金山の果報待ちたい ユネスコの評価、近く判明
    2024-06-03

    映画「ゴジラ‐1.0」の震電は「コックピットだけ復元」のはずだった…山崎貴監督がエピソード披露
    2024-06-04

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    2025年春に「直島新美術館」が誕生。既存の活動から新しい価値創造を目指す
    2024-06-04

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    「避難いただけるほうが一安心」珠洲で激しい揺れに耐えた仏像、奈良博で縁つなぐ
    2024-06-04

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    「安全だと誰も言わない万博」爆発事故で教職員組合 大阪府に子供無料招待中止申し入れ
    2024-06-04

    ビル・エヴァンスの名言「才能なんて取るに足りない」【本と名言365】
    2024-06-05

    ご当地体操「いちょう体操」に小学生の指導委員が誕生 「体がのびやかに動く」
    2024-06-06

    なぜ、いま「先住民の現代アート」なのか? 『美術手帖』2024年7月号は、「先住民の現代アート」特集
    2024-06-06

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    ©  Dopu Box
    💛