はじめに: この記事は Linux の基本操作の章の内容です。
私が使用している環境は Tencent Cloud Server: CentOS 7.6 64bit をベースとしています。
学習セット:
注: find コマンドと grep コマンドはインタビューで頻繁に言及されるため、類似点と相違点について答える必要があります。
ディレクトリ インデックス:
1. 基本的な構文、関数、および使用法
2. 基本的な使用例: 検索コンテンツのフィルタリング
3. "-v": 指定されたコンテンツ出力を逆にフィルタリングします
4. その他の単純なオプション パラメータ
4.1 "-i": 大文字と小文字を区別しませんフィルター検索
4.2 "-j": 行番号をついでに出力
5. 補足説明: 関連する正規表現
6. おすすめの関連記事・シリーズ
1. 基本的な構文、関数、使い方
1.1 基本的な構文
基本構文: grep [オプション] 文字列ファイルを検索します
1.2 機能と使い方
機能: ファイル内の文字列を検索し、見つかった行を出力します。
使い方(2種類):
- grepはファイルを指定する文字列を指定します
- cat はファイルを指定 | grep は文字列を指定 [この方法はパイプと組み合わせて使用します! ]
(使用方法については、この記事の2 番目のポイントを参照してください)
2. 基本的な使用例: コンテンツを検索するためのフィルター
テストケースの生成
/* 拷贝数据集文件用于测试,注:若无该文件集可使用如下指令生成:
count=0; while [ $count -le 100 ]; do echo "hello ${count}"; let count++; done > file.txt
*/
[Mortal@VM-12-16-centos test_findsome]$ cd ~
[Mortal@VM-12-16-centos ~]$ ls
StudyingOrder_Linux test1 test2 test3 test_cp test_findsome test_mkdir test_mv test_txtfile
[Mortal@VM-12-16-centos ~]$ ls test_txtfile
file.txt filetxt.txt main.c
[Mortal@VM-12-16-centos ~]$ cp test_txtfile/file.txt test_findsome/grep_test.txt
[Mortal@VM-12-16-centos ~]$ cd test_findsome/
検索コンテンツをフィルタリングします。つまり、指定された文字列を含むコンテンツを (あいまいに) 検索します。
/* 方式一:grep 指定字符串 指定文件 */
[Mortal@VM-12-16-centos test_findsome]$ grep "0" grep_test.txt
hello 0
hello 10
hello 20
hello 30
hello 40
hello 50
hello 60
hello 70
hello 80
hello 90
hello 100
/* 方式二:cat 指定文件 | grep 指定字符串【该方式结合管道使用!】 */
[Mortal@VM-12-16-centos test_findsome]$ cat grep_test.txt | grep "0"
hello 0
hello 10
hello 20
hello 30
hello 40
hello 50
hello 60
hello 70
hello 80
hello 90
hello 100
3. "-v": 指定されたコンテンツ出力を逆にフィルタリングします。
-v: はオプションのオプションで、その機能は選択を反転すること、つまり「検索文字列」の内容を含まない行を表示することです。
/* 方式一:grep 指定字符串 指定文件 */
[Mortal@VM-12-16-centos test_findsome]$ grep -v "0" grep_test.txt
hello 1
hello 2
hello 3
hello 4
hello 5
hello 6
hello 7
.../* 数据过多,省略不复制出来 */
/* 方式二:cat 指定文件 | grep 指定字符串【该方式结合管道使用!】 */
[Mortal@VM-12-16-centos test_findsome]$ cat grep_test.txt | grep -v "0"
hello 1
hello 2
hello 3
hello 4
hello 5
hello 6
hello 7
.../* 数据过多,省略不复制出来 */
4. その他の簡単なオプションパラメータ
4.1 "-i": 大文字と小文字を区別しないフィルター検索
- grep -i はファイルを指定する文字列を指定します
- cat はファイルを指定 | grep -i は文字列を指定 [この方法はパイプと組み合わせて使用します! 】
4.2 "-j": 行番号をついでに出力する
- grep -n はファイルを指定する文字列を指定します
- cat はファイルを指定 | grep -n は文字列を指定 [この方法はパイプと組み合わせて使用します。】
5. 補足説明: 関連する正規表現
今回は上記の内容を簡単に紹介していきます!この記事は今後も随時更新していきます!
注: grep コマンドは、ワイルドカード/正規表現などもサポートするようになりました。
例: cat grep_test.txt | grep -v "hello 9[0-5]"
[Mortal@VM-12-16-centos test_findsome]$ cat grep_test.txt | grep 'hello 9[0-5]'
hello 90
hello 91
hello 92
hello 93
hello 94
hello 95
6. 関連記事またはシリーズの推奨事項
2. Linux :: [基本コマンド:: 検索/クエリコマンド: (1)]:: どのコマンド: システムファイル指定(コマンド) 検索コマンド | クエリコマンドのエイリアス 3. Linux:: ファイル検索コマンド[2]
: find コマンド (キーポイント): ファイル ツリー内のファイル (指定されたパス/ディレクトリ) を検索し、対応する処理 (場合によってはディスクにアクセス) を実行するために使用されます [ナレッジ システムで継続的に更新されます]