構文を説明してください。

構文を説明してください。

誰かが次のコマンドの構文を説明できますか?彼らが何をしているのかはわかりますが、構文を理解するのは難しいです。

find / -type f -exec grep -H 'text-to-find-here' {} \;
cat access.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -r
sudo cat error_log.20150205 | grep mpmstat | grep -v "," | cut -d: -f4- | grep -v ":"   | sed -e's/rdy//g' |  sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/g

ベストアンサー1

find
     /→ ルートディレクトリから検索
     -type f→ ファイルのみ選択( f) → コマンドを実行して見つかった
     -exec ....{} \;(ファイル) 名を 1 つずつ{}挿入grep -H 'test-to-find→ 見つかったファイルごとにこの grep を実行find


cat access.log |→ファイルをstdoutに出力し、次のコマンドでパイプ
     cut -d '"' -f3 |→行を分割し、"フィールド3のみを出力し、次のコマンドでパイプ
     cut -d ' ' -f2 |→スペースに基づいてフィールド3を切り取り、2番目のフィールドを取得し、次のフィールドにパイプ
     sort | uniq | sort -r→出力を並べ替えて削除する重複、逆順に並べ替え( -r) (最後のコマンドは、一部のバージョンでは1つのコマンドで実行でき、
最初のコマンドは重複しているため書くことができます)sortsort -urcat< access.log cut -d '"' | ....


sudo cat error_log.20150205 |→ root権限(ファイルアクセス権?)でcatを実行
     grep mpmstat |→単語のある行のみを選択→コンマ付きの行はmpmstat
     grep -v "," |選択解除()→区切り文字「:」に基づいて複数のフィールドに分割し、4番目のフィールド以上を取得します。 → ':'で行を抑制します(前の区切り文字である可能性が低い)→各行の並べ替え()→さまざまな選択肢をカンマに置き換えます(wr \ | `)-v
     cut -d: -f4- |
     grep -v ":" |
     sed -e's/rdy//g' |srdyg
     sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/gbsy,, etc, separated by

おすすめ記事