Linuxコマンド(テキスト処理)のチートシート - oasis3855/webpage GitHub Wiki

Home > Software > ソフトウエア開発・PC管理のメモ帳 > this page (このページ)


Linuxでテキスト処理したり、ファイルのテキスト検索をするコマンドを個人的にメモしたものです



grep

OR条件で複数のマッチパターンを指定する

 grep -e 'Pattern1' -e 'Pattern2' file.txt

マッチした行を表示する

 grep -n -e 'Pattern' file.txt

ディレクトリ以下全てのファイルから検索する

 grep -e 'Pattern' -R *.txt
 find /dir -type f -name '*.txt' | xargs grep -e 'Pattern'
 find /dir -type f -name '*.txt' -exec grep -e 'Pattern' {} \;

ディレクトリ以下全てのファイルから検索する(ファイル名と行番号も出力)

 find /dir -type f -name '*.txt' -exec grep -Hn -e 'Pattern' {} \;

ディレクトリ以下全てのファイルから検索する(ファイル名のみ表示)

 find /dir -type f -name '*.txt' -exec grep -l -e 'Pattern' {} \;
正規表現
複数条件
 grep -E Pattern1\|Pattern2 file.txt

複数条件で大文字・小文字を無視

 grep -iE pattern1\|pattern2 file.txt

連番など(line001, line002, ... に一致)

 grep -E line[0-9][0-9][0-9] file.txt

2つのキーワードが同一行に入っている

 grep -E key1.*key2 file.txt

sed

先頭に#や;のある行(コメント行)の削除

 sed '/^\;/d' [ファイル名]
 sed '/^\#/d' [ファイル名]

空白行(改行のみある行)の削除

 sed '/^$/d' [ファイル名]

sed "/^$/d" のように"で囲むとエラーとなる

複数条件を指定するには、条件の間をセミコロンで区切る

 sed '条件;条件'

乱数

指定した文字種・文字数で乱数文字列を作成

 tr -dc A-Za-z0-9 < /dev/urandom | head -c 64 | cat
 tr -dc A-Za-z0-9 < /dev/urandom | head -c 64 > test.txt
⚠️ **GitHub.com Fallback** ⚠️