• 在线工具
  • - 计算器
    • 字符计数
  • - 下载
    • TikTok 下载
    • 抖音下载
  • - 网络工具
    • BASE64
    • Base64 转图片
    • 图片转 Base64
    • URL 编码
    • JavaScript
    • 时间戳
    • Unicode 转换器
    • JSON 格式化
    • 修改扩展名
    • 制作列表
    • CSS 优化器
  • - 加密工具
    • MD5 加密
    • 随机生成器
  • - 图像工具
    • 图像压缩
    • 二维码生成器
    • 二维码识别器
    • 壁纸预览
    • 图片 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 加密 随机生成器 图像压缩 二维码生成器 二维码识别器 壁纸预览 图片 EXIF 血型遗传 服装尺码 app.tool_clock
  • ジョン・レノンのギター4億5千万円で落札
    2024-05-30

    <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

    〈テロ事件と「美の復讐」〉15世紀末・イタリア「メディチ家兄弟暗殺計画」とルネサンスの画家たち
    2024-06-01

    中国でドラえもん映画が興行首位 国際こどもの日に12億円
    2024-06-03

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    IT国家の最先端研究を知って 奈良・宇陀市がエストニアへの短期留学事業
    2024-06-04

    アルテミス計画&天の川銀河! 大人も学んで楽しめる「大人レゴ」最新ラインナップは”宇宙”がテーマ!
    2024-06-03

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

    イタリア・ヴェローナの歴史あるレストランをパトリシア・ウルキオラが再解釈。
    2024-06-03

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

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    「UESHIMA MUSEUM」が開館。屈指の現代美術コレクションを一般公開
    2024-06-05

    クールべ《世界の起源》はなぜ攻撃されたのか? ポンピドゥー・センター・メッスで破壊・盗難事件
    2024-06-04

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

    口腔ケアで高齢者を守ろう 「おとなの歯磨き」訪問歯科医が出版
    2024-06-04

    第55回星雲賞・自由部門に「巨大ロボット展」 日本SFファングループ連合会議
    2024-06-05

    ブリン・バン・バン・ボンが1位 ビルボード、上半期人気曲
    2024-06-06

    美術家藤井光さん個展「終戦の日/WAR IS OVER」 希望か絶望か…大分・佐伯の地下弾薬庫跡にこだまする泣き声
    2024-06-07

    もしあの時に戻れたら…歌人・穂村弘が話題書『迷子手帳』で明かす、今も忘れられない「失敗」
    2024-06-07

    ©  Dopu Box
    💛