【Linux】Linuxにおけるテキスト処理

【Linux】Linuxにおけるテキスト処理

2023-09-03

2024-08-13

テキスト内の検索

  • grep ファイル内でパターンを検索します。

    • -i 大文字と小文字を区別しない検索。
    • -rまたは-R ディレクトリ内で再帰的に検索。
    • -v 検索を反転(マッチしない行を返す)。
    $ grep "search_term" file.txt
    This line contains the search_term.
    
    $ grep -i "Search_Term" file.txt
    This line contains the search_term.
    

テキストのフィルタリングと変換

  • awk ファイル操作のための多目的プログラミング言語です。

    $ echo -e "a 1\nb 2\nc 3" | awk '{print $2}'
    1
    2
    3
    
  • sed テキストのフィルタリングと変換のためのストリームエディタです。

    $ echo "Hello World" | sed 's/World/Universe/'
    Hello Universe
    

ソートとカウント

  • sort テキストファイル内の行をソートします。

    $ echo -e "banana\napple\ncherry" | sort
    apple
    banana
    cherry
    
    • -r 比較結果を逆にする(降順)。
    • -n 数値として比較します。
  • uniq 重複した行を報告または省略します。

    • -c 出現回数を行の前に表示します。
    $ echo -e "a\na\nb\nb\nb\nc" | uniq -c
      2 a
      3 b
      1 c
    
    • wc ファイル内の単語数、行数、文字数をカウントします。

      • -l 行数をカウントします。
      • -w 単語数をカウントします。
      $ echo "Hello World" | wc -w
      2
      
      • -c バイト数をカウントします。

テキストの表示

  • cat ファイルの内容を連結して表示します。

    $ cat file.txt
    This is the content of file.txt.
    
  • tac ファイルの内容を逆順で表示します。

    $ echo -e "line1\nline2\nline3" | tac
    line3
    line2
    line1
    
  • nl ファイルの行に行番号を付けます。

    $ echo -e "line1\nline2\nline3" | nl
    1  line1
    2  line2
    3  line3
    
    • head ファイルの先頭部分を表示します。

      • -n 表示する行数を指定します。
      $ echo -e "line1\nline2\nline3" | head -n 2
      line1
      line2
      
    • tail ファイルの末尾部分を表示します。

      • -n 表示する行数を指定します。
      • -f ファイルの内容をリアルタイムで追跡します。
      $ echo -e "line1\nline2\nline3" | tail -n 2
      line2
      line3
      

Recommend