【Linux】テキスト処理・検索コマンドの使い方まとめ

【Linux】テキスト処理・検索コマンドの使い方まとめ

PR Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:1,807

Linuxのテキスト処理やファイル検索に必須のコマンド(grep, find, sed, awk等)の使い方まとめ。基本からパイプを利用した実践的な組み合わせまで、実務を効率化するテクニックを網羅しています。

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

初心者向け

わかばちゃんと学ぶ サーバー監視

難易度
実用性
読みやすさ

マンガと図解が中心で圧倒的に読みやすい。負荷調査の手法がスッと理解できるようになります。

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ

LinuxLinux [リナックス / ライナックス]オープンソースのOSカーネル環境でのシステム運用や開発において、ログの解析や設定ファイルの一括置換、ファイル検索といった「テキスト処理・検索」は非常に頻繁に行われる作業です。

本ページでは、ファイルや文字列の検索(findgrep)、テキストの置換・抽出(sedawkxargs)、およびファイル内容の表示・整形(headtailuniq)に関する主要なコマンドの使い方を体系的にまとめました。 各コマンドの基本から、組み合わせて使う実践的なテクニックまでを網羅しています。

Linuxでファイルや文字列を検索するコマンド

findコマンド:Linuxで再帰的にファイルを検索する

ファイルやディレクトリを名前や種類などの条件で検索するためのコマンドです。デフォルトで再帰的に検索を行います。

  • ポイント:
    • -name-inameで大文字小文字の区別を指定可能
    • -execを使って検索結果に対する一括処理も可能
実行例
# カレントディレクトリ配下から「.txt」ファイルを検索
find . -name "*.txt"
【Linux】再帰的にファイル名を検索する(findコマンド)
ITナレッジライフ

【Linux】再帰的にファイル名を検索する(findコマンド)

Linuxでファイルやディレクトリを検索する際、便利なのがfindコマンドです。本記事では、「再帰的にファイル名を検索する」というテーマに焦点を当てて、findコマンドの使い方やオプションを指定した応用的な使い方を解説します。

grepコマンド:Linuxで文字列を再帰的に検索する

ファイルの中身から特定の文字列を検索するコマンドです。ディレクトリ配下を再帰的に検索する際に非常に便利です。

  • ポイント:
    • -rオプションでディレクトリ内のファイルを再帰検索
    • -lオプションで該当するファイル名の一覧のみを取得
実行例
# カレントディレクトリ配下から「keyword」を再帰検索し、ファイル名一覧を取得
grep -rl "keyword" ./
【Linux】grepコマンドで再帰的な検索をする方法
ITナレッジライフ

【Linux】grepコマンドで再帰的な検索をする方法

Linuxでファイル内容の再帰的な検索をする場合は、grepコマンドのrオプションを利用します。またlオプションと組み合わせることで、該当ファイルの一覧も取得することができます。

Linuxでテキストの置換・抽出・一括処理を行うコマンド

sedコマンド:テキストの文字列置換や行削除を行う

ストリームエディタとして、ファイル内の文字列を置換したり特定の行を削除したりできるコマンドです。

  • ポイント:
    • s/置換前/置換後/g で文字列を置換
    • -iオプションで直接ファイルを上書き保存可能
実行例
# test.txt内の「it-life」を「IT-LIFE」へ置換し上書き保存
sed -i 's/it-life/IT-LIFE/g' test.txt
【Linux】sedコマンドでファイルの文字列を置換・行削除する
ITナレッジライフ

【Linux】sedコマンドでファイルの文字列を置換・行削除する

Linuxでファイルの文字列を置換・行削除する方法を解説します。sedコマンドで置換や行削除を行い、-iオプションを指定することで、置換後文字列や削除した状態で保存することができます。

findとsedコマンド:複数ファイルの文字列を一括置換する

findで対象ファイルを絞り込み、xargsを経由してsedで一括置換する、実務でよく使われる強力な組み合わせです。

  • ポイント:
    • grep -rlで置換前に対象を確認するのがおすすめ
    • 特定のディレクトリ(node_modulesなど)を除外することも可能
実行例
# カレントディレクトリ配下のファイルを一括置換
find ./ -type f -print | xargs sed -i "s/keyword/after_keyword/g"
 【Linux】sedで文字列を一括置換する方法
ITナレッジライフ

【Linux】sedで文字列を一括置換する方法

Linuxのsedとfindを使い、複数ファイルの文字列を一括置換する方法を詳しく解説します。grepでの事前確認や、特定のディレクトリ・拡張子を除外する方法も紹介するので、大量のファイルを効率的に編集したい方におすすめです。

awkコマンド:区切り文字を指定して文字列を抽出する

行ベースのテキストデータから、スペースやカンマなどの区切り文字を基準にして特定の列を抽出するコマンドです。

実行例
# スペース区切りのアクセスログから4、5項目目を抽出
awk '{ print $4,$5 }' /var/log/nginx/access.log | tail -n 3
awkコマンドのprintで区切り文字を指定し、文字列を抽出する
ITナレッジライフ

awkコマンドのprintで区切り文字を指定し、文字列を抽出する

awkコマンドで文字列を抽出する場合、printを指定します。$0で行全体を、$nで区切り文字で区切られた部分を取得することができます。

xargsコマンド:複数ファイルを対象に一括処理を実行する

他のコマンドの出力を引数として受け取り、指定したコマンドを実行するためのコマンドです。

  • ポイント:
    • findgrepと組み合わせてファイル群を一括処理する際に活躍
    • -print0-0を組み合わせることでスペースを含むファイル名も安全に処理
実行例
# .tmpファイルを検索し、安全に一括削除
find . -name "*.tmp" -print0 | xargs -0 rm
【Linux】xargsコマンドの使い方|findやgrepと組み合わせた実用例
ITナレッジライフ

【Linux】xargsコマンドの使い方|findやgrepと組み合わせた実用例

Linuxのxargsコマンドの基本的な使い方から、findやgrepと組み合わせた実用的な活用例まで解説します。ファイルの一括処理や削除など、現場でよく使うパターンを具体的なコマンド例と一緒に紹介します。

Linuxでファイル内容の表示・監視・整形を行うコマンド

head・tailコマンド:ファイルの特定範囲の行を取得する

head(先頭)とtail(末尾)を組み合わせることで、ファイルの指定した範囲の行のみを抽出することができます。

  • ポイント:
    • tail -n +開始行で開始位置を指定
    • パイプでつないだhead -n 行数で取得する範囲を決定
実行例
# test1.txtの7行目から4行分(7〜10行目)を取得
tail -n +7 test1.txt | head -n 4
【Linux】head、tailコマンドを組み合わせて開始・終了行を指定する
ITナレッジライフ

【Linux】head、tailコマンドを組み合わせて開始・終了行を指定する

Linuxのtailとheadコマンドを組み合わせて、ファイルの特定範囲の行を取得する方法を詳しく解説します。基本的な使い方から応用例まで、具体的なコマンドやスクリプトの活用方法を紹介します。必要なデータを効率的に抽出し、業務の効率化やログ解析などに役立てることができます。

tailコマンド:ログファイルをリアルタイムで監視する

ファイルの末尾を表示するだけでなく、更新され続けるログファイルをリアルタイムに監視する際にも使われます。

  • ポイント:
    • -fオプションで追記されたデータをリアルタイム表示
    • -Fオプションを使えばログローテーション後も自動で追従
実行例
# アクセスログをリアルタイム監視
tail -F /var/log/nginx/access.log
tailでログを行数表示|リアルタイム監視する【Linux】
ITナレッジライフ

tailでログを行数表示|リアルタイム監視する【Linux】

Linuxのtailコマンドを利用して、ファイルの末尾を行数指定で表示する方法やリアルタイムでログを監視する方法を解説します。tailコマンドの基本的な使い方から、-fや-Fオプションの違いや、複数ファイルの同時監視方法。grepとの組み合わせによるフィルタリングまで、実践的なノウハウを紹介します。

sort・uniqコマンド:テキストの重複行を削除・集計する

隣接する重複行を削除するuniqと、並べ替えを行うsortを組み合わせることで、ファイル全体の重複を削除したり、出現回数を集計したりできます。

  • ポイント:
    • uniqは事前にsortでの並べ替えが必須
    • -cオプションで出現回数のカウントが可能(アクセスログ解析などに活用)
実行例
# 重複行を削除し、一意な行のみを出力
sort sample.txt | uniq > result.txt
【Linux】重複行を削除する方法!sortとuniqの基本と応用
ITナレッジライフ

【Linux】重複行を削除する方法!sortとuniqの基本と応用

本記事では、Linuxでテキストファイルの重複行を削除する代表的な方法を解説します。sortとuniqコマンドを組み合わせた基本手順から、出現回数の集計機能まで詳しく紹介。ログ解析やCSVデータのクレンジング作業を効率化したいエンジニア必見のテクニックをまとめました。

テキスト処理・検索コマンドまとめ

本ページでは、Linux環境において非常に利用頻度の高い「テキスト処理・検索」関連のコマンドについてまとめました。

各コマンドを単独で使うだけでなく、findxargsと組み合わせて一括処理したり、パイプ(|)で複数のコマンドを連携させたりすることで、強力なデータ処理やファイル操作が可能になります。 各記事の詳細ページも参考に、日々のサーバー運用や開発業務の効率化にぜひお役立てください。


以上で本記事の解説を終わります。
よいITライフを!
ITナレッジライフ 運営者
この記事を書いた人

Z (ITナレッジライフ)

現役のITエンジニア。Linux、プログラミング、IT用語など、日々の業務で得た「痒いところに手が届く」技術情報を発信しています。

プロフィールと編集ポリシーを見る

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

人気記事


記事を評価

Thanks!
目次
Scroll to Top