記事ディレクトリ
- 1.シェルプログラミングの正規表現-awkツールの使用
-
- 1. awkの組み込み変数
- 2. / etc / passwdのユーザー名、ユーザーID、およびグループIDを確認します
- 3.すべてのコンテンツを出力します。これはcat test.txtと同等です
- 4.すべてのコンテンツを出力します。これはcat test.txtと同等です
- 5.行1〜3の内容を出力します
- 6. 1〜3行目の内容を出力する
- 7. 1行目と3行目の内容を出力します
- 8.すべての奇数行の内容を出力します
- 9.すべての偶数行の内容を出力します
- 10. rootで始まる行を出力します
- 11. nologinで終わる行を出力します
- 12. / bin / bashで終わる行数を数える
- 13.空白行で区切られたテキスト段落の数を数える
- 14.各行の3番目のフィールドを出力します(スペースまたはタブストップで区切られています)。
- 15.各行の最初と3番目のフィールドを出力します
- 16.パスワードが空のユーザーのシャドウレコードを出力する
- 17.パスワードが空のユーザーのシャドウレコードを出力する
- 18.出力は、コロンと、7番目のフィールドに/ bashを含む行の最初のフィールドで区切られます。
- 19. wc -lコマンドを呼び出して、bashを使用しているユーザーの数をカウントします。
- 20. wコマンドを呼び出し、それを使用してオンラインユーザーの数をカウントします。
- 21.ホスト名を呼び出し、現在のホスト名を出力します
- 22.並べ替えツールの一般的なオプション
- 23. / etc / passwdファイルでアカウントを並べ替えます
- 24. / etc / passwdファイルの3番目の列を逆順にソートします
- 25. / etc / passwdファイルの3番目の列をソートし、出力をuser.txtファイルに保存します
- 26. uniqツールの一般的なオプション
- 27、ファイル内の重複する行を削除します
- 28.ファイル内の重複する行を削除し、行の先頭に繰り返し出現する行の数を表示します
- 29、ファイル内の重複する行を見つける
- 30. trツールの一般的なオプション
- 31.入力文字を大文字から小文字に変換する
- 32.入力で繰り返される文字を圧縮する
- 33、文字列の一部の文字を削除します
1.シェルプログラミングの正規表現-awkツールの使用
1. awkの組み込み変数
Awkには、次のようないくつかの特別な組み込み変数(直接使用できる)が含まれています。
- FS:各テキスト行のフィールド区切りを指定します。デフォルトはスペースまたはタブストップです。
- NF:現在処理されている行のフィールド数。
- NR:現在処理されている行の行番号(序数)。
- $ 0:現在処理されている行全体。
- $ n:現在処理されている行のn番目のフィールド(n番目の列)。
- FILENAME:処理中のファイルの名前。
- RS:データレコードの分離。デフォルトは\ n、つまり1行に1レコード。
2. / etc / passwdのユーザー名、ユーザーID、およびグループIDを確認します
awk -F: '{print $ 1、$ 3、$ 4}' / etc / passwd
3.すべてのコンテンツを出力します。これはcat test.txtと同等です
awk '{print}' test.txt
4.すべてのコンテンツを出力します。これはcat test.txtと同等です
awk '{print $ 0}' test.txt
5.行1〜3の内容を出力します
awk 'NR == 1、NR == 3 {print}' test.txt
6. 1〜3行目の内容を出力する
awk '(NR> = 1)&&(NR <= 3){print}' test.txt
7. 1行目と3行目の内容を出力します
awk 'NR == 1 || NR == 3 {print}' test.txt
8.すべての奇数行の内容を出力します
awk 'NR%2 == 1 {print}' test.txt
9.すべての偶数行の内容を出力します
awk 'NR%2 == 0 {print}' test.txt
10. rootで始まる行を出力します
awk '/ ^ root / {print}' / etc / passwd
11. nologinで終わる行を出力します
awk '/ nologin $ / {print}' / etc / passwd
12. / bin / bashで終わる行数を数える
grep -c“ / bin / bash $” / etc / passwdと同じ
awk 'BEGIN {x = 0}; // bin / bash $ / {x ++}; END {print x}' / etc / passwd
13.空白行で区切られたテキスト段落の数を数える
awk 'BEGIN {RS = ""}; END {print NR}' test.txt
14.各行の3番目のフィールドを出力します(スペースまたはタブストップで区切られています)。
awk '{print $ 3}' test.txt
15.各行の最初と3番目のフィールドを出力します
awk '{print $ 1、$ 3}' test.txt
16.パスワードが空のユーザーのシャドウレコードを出力する
awk -F: '$ 2 == "" {print}' / etc / shadow
17.パスワードが空のユーザーのシャドウレコードを出力する
awk 'BEGIN {FS = ":"}; $ 2 == "" {print}' / etc / shadow
18.出力は、コロンと、7番目のフィールドに/ bashを含む行の最初のフィールドで区切られます。
awk -F: '$ 7〜 "/ bash" {print $ 1}' / etc / passwd
19. wc -lコマンドを呼び出して、bashを使用しているユーザーの数をカウントします。
grep -c "bash $" / etc / passwdと同じ
awk -F: '/ bash $ / {print | 「wc -l」} '/ etc / passwd
20. wコマンドを呼び出し、それを使用してオンラインユーザーの数をカウントします。
awk 'BEGIN {while(“ w” | getline)n ++; {print n-2}}'
21.ホスト名を呼び出し、現在のホスト名を出力します
awk 'BEGIN {“ホスト名” | getline; print $ 0} '
22.並べ替えツールの一般的なオプション
- -f:大文字と小文字を区別しません。
- -b:各行の前のスペースを無視します。
- -M:月でソートします。
- -n:番号でソートします。
- -r:逆ソート。
- -u:uniqと同じです。つまり、同じデータの1行のみが表示されます。
- -t:セパレーターを指定します。デフォルトでは[Tab]を使用して区切ります。
- -o <出力ファイル>:ソートされた結果を指定されたファイルにダンプします。
- -k:ソート領域を指定します。
23. / etc / passwdファイルでアカウントを並べ替えます
/ etc / passwdをソートします
24. / etc / passwdファイルの3番目の列を逆順にソートします
ソート-t ':' -rk 3 / etc / passwd
25. / etc / passwdファイルの3番目の列をソートし、出力をuser.txtファイルに保存します
sort -t ':' -k 3 / etc / passwd -o user.txt
猫user.txt
26. uniqツールの一般的なオプション
- -c:カウント。
- -d:重複する行のみを表示します。
- -u:一度だけ現れる行を表示します。
27、ファイル内の重複する行を削除します
uniqテストファイル
28.ファイル内の重複する行を削除し、行の先頭に繰り返し出現する行の数を表示します
uniq -cテストファイル
29、ファイル内の重複する行を見つける
uniq -dテストファイル
30. trツールの一般的なオプション
- -c:最初の文字セットに属していないすべての文字を置き換えます。
- -d:最初の文字セットに属するすべての文字を削除します。
- -s:連続して繰り返される文字を単一の文字として表します。
- -t:最初の文字セットの文字を2番目の文字セットより多く削除します。
31.入力文字を大文字から小文字に変換する
エコー "KGC" | tr 'A-Z' 'a-z'
32.入力で繰り返される文字を圧縮する
echo「thisssssssはテストlinnnnnnnnneです。」| tr -s 'sn'
33、文字列の一部の文字を削除します
エコー "hello world" | tr -d「から」