GNU/Linux >> Linux の 問題 >  >> Linux

awk:コマンドが見つかりません

awk コマンドは、ファイルに対してパターン マッチングを実行します。 AWK プログラミング言語に基づいています。 awk キーワードの後に​​は、パターン、実行するアクション、およびファイル名が続きます。実行されるアクションは、中括弧内に指定されます。実行するパターンとアクションは、一重引用符で囲んで指定する必要があります。パターンが指定されていない場合、アクションはすべての入力データに対して実行されます。ただし、アクションが指定されていない場合は、行全体が印刷されます。 awk コマンドは、コマンドラインから、または awk スクリプト ファイル内から実行できます。

awk コマンドを使用すると、特定のパターンに一致するテキストを抽出するなど、さまざまな方法でテキスト ファイルを処理できます。特定のパターンに一致するテキストを削除します。特定のパターンに一致するテキストを追加します。

構文

awk コマンドの構文は次のとおりです。

# awk [options] ['patterns {actions}'] {file names}

awk コマンドの実行中に以下のエラーが発生した場合:

 

選択したディストリビューションに従って、以下のパッケージをインストールしてみてください:

OS 分布 コマンド
OS X brew install awk
Debian apt-get install gawk
Ubuntu apt-get install gawk
アルパイン apk add gawk
Arch Linux pacman -S gawk
カリ Linux apt-get install gawk
CentOS yum install gawk
Fedora dnf install gawk
Raspbian apt-get install gawk

awk コマンドの例

1. スペースで区切られたファイルの 5 列目 (別名フィールド) を出力します。

# awk '{print $5}' filename

2. 「foo」を含む行の 2 列目をスペース区切りファイルに出力します。

# awk '/foo/ {print $2}' filename

3. フィールド区切り文字として (スペースの代わりに) コンマを使用して、ファイルの各行の最後の列を出力します。

# awk -F ',' '{print $NF}' filename

4. ファイルの最初の列の値を合計し、合計を出力します:

# awk '{s+=$1} END {print s}' filename

5. 1 行目から 3 行おきに印刷:

# awk 'NR%3==1' filename

6. 条件に基づいて異なる値を出力:

# awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' filename

7. 10 列目の値が指定された値と等しいすべての行を出力します。

# awk '($10 == value)'

8. 10 列目の値が最小値と最大値の間にあるすべての行を出力します。

# awk '($10 >= min_value && $10 <= max_value)'


Linux
  1. サブスクリプション マネージャー:コマンドが見つかりません

  2. dnf:コマンドが見つかりません

  3. bc:コマンドが見つかりません

  1. id:コマンドが見つかりません

  2. w:コマンドが見つかりません

  3. df:コマンドが見つかりません

  1. du:コマンドが見つかりません

  2. rm:コマンドが見つかりません

  3. mv:コマンドが見つかりません