• 在线工具
  • - 计算器
    • 字符计数
  • - 下载
    • 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
  • むのたけじ賞、名称変更 「生前に障害者差別発言」
    2024-05-31

    【6月1日~2日】週末必見の“アート&デザイン”まとめ!
    2024-06-01

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

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

    ビルケンシュトック、創業から250年の歴史を振り返る2冊を出版
    2024-06-01

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    死後に再評価が進んだ作曲家の筆頭、ビゼー。その裏には友人の存在が【クラシック今日は何の日?】
    2024-06-02

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    応挙手本?に描いたトラ甦れ…徳島の寺のふすま絵修復へ
    2024-06-04

    本年入試私立公立とも志願者微減 栄光ゼミナール担当者にきく 埼玉中高入試最新動向
    2024-06-04

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

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

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

    田名網敬一「TANAAMI!! AKATSUKA!! / 45 rpm」展、集英社マンガアートヘリテージ トーキョーギャラリーで開催
    2024-06-04

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

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

    子供と行きたいおすすめ美術館【東京編】。子連れ、親子でアートを楽しもう!
    2024-06-06

    宗教2世のドラマが受賞 第50回放送文化基金賞
    2024-06-06

    田名網敬一の巨大インスタレーションが、世界初大規模回顧展「田名網敬一 記憶の冒険」に登場。国立新美術館で8月7日から
    2024-06-06

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

    ©  Dopu Box
    💛