• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
  • [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 血型遺傳 服裝尺寸
  • 民藝・イズ・ビューティフル。 日本文化と黒人文化が融合する「アフロ民藝」とは?
    2024-05-30

    ブームなぜ起きた? 東京国立近代美術館で「ハニワと土偶の近代」展
    2024-05-30

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

    森トラストが平安女学院から有栖川宮旧邸を取得…今度の活用は京都市とも引き続き協議
    2024-06-01

    道後温泉の記憶を継承するアート 大竹伸朗が“描き”重要文化財を守ったテント膜「熱景」の再生
    2024-06-03

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

    現代美術作家の杉本博司がYouTubeチャンネル開設 素顔に迫る映像を公開
    2024-06-04

    レイモンド・ローウィの名言「優れたインダストリアルデザインは、…」【本と名言365】
    2024-06-04

    第34回福岡アジア文化賞受賞者が決定。大賞は真鍋大度
    2024-06-04

    建築家・白井晟一設計の個人住宅「桂花の舎」が江之浦測候所に移築へ
    2024-06-04

    GROUP「島をつくる | Planning Another Island」(マイナビアートスクエア)開幕レポート。高層ビルのなかで建築をコンポストする
    2024-06-05

    社会的関与の芸術。清水穣評 城戸保「駐車空間、文字景、光画」展/野村浩「Painter」展
    2024-06-04

    PARCELで「Not Quite」開催。「~でなくもない」作家が集結
    2024-06-04

    「KOGEI Art Fair Kanazawa 2024」開催決定
    2024-06-04

    今週末に見たい展覧会ベスト13。「令和6年 新指定国宝・重要文化財」展から国立西洋美術館の現代美術展、KYOTOGRAPHIEまで
    2024-06-04

    五木ひろし歌手生活60年…ふるさと福井へ恩返しの新曲
    2024-06-04

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

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

    「再会長江」北京で特別上映 竹内監督のトークイベントも
    2024-06-04

    ©  Dopu Box
    💛