• オンラインツール
  • - 計算機
    • 文字数カウント
  • - ダウンロード
    • TikTok ダウンロード
    • Douyin ダウンロード
  • - Webツール
    • BASE64
    • Base64→画像
    • 画像→Base64
    • URLエンコード
    • JavaScript
    • タイムスタンプ
    • ユニコード変換
    • 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 ダウンロード Douyin ダウンロード BASE64 Base64→画像 画像→Base64 URLエンコード JavaScript タイムスタンプ ユニコード変換 JSON整形 拡張子変更 リスト作成 CSS最適化 MD5暗号化 ランダムジェネレーター 画像圧縮 QRコードジェネレーター QRコードリーダー 壁紙プレビュー 画像 EXIF 血液型遺伝 服のサイズ
  • 鳥取・大山でたいまつ行列 夏山開き前夜祭
    2024-06-01

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

    ポール・オースターの名言「けれどオニオンパイの味は…」【本と名言365】
    2024-06-02

    小学館「作家の意向第一に協議」 映像化指針、ドラマ原作者死去で
    2024-06-03

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

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

    フジコ・ヘミングさん偲ぶ魂のピアノ旋律
    2024-06-03

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

    「国芳の団扇絵 猫と歌舞伎とチャキチャキ娘」(太田記念美術館)開幕レポート。世界初の展覧会
    2024-06-04

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

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

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

    105歳で死去した画家弥勒祐徳さん おごらず、黙々と、ひたすらに神楽など描く
    2024-06-05

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

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

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    向田邦子の名言「…これが私の料理のお稽古なのです。」【本と名言365】
    2024-06-07

    書評:「普通にラッセンが好き」と言えない現代美術界へ。原田裕規『評伝クリスチャン・ラッセン 日本に愛された画家』
    2024-06-06

    umami.is をおすすめする理由
    2025-07-04

    ©  Dopu Box
    💛