文字列のawk

[awk] 実行して理解 awkコマンドで文字列を分割後、全表示

created:2025/10/07 updated:2025/10/29

前書き

このリポジトリは、awkコマンドを実行して空白で区切られた文字列を分割して全て表示します

インストールする必要のあるコマンド

特に無し

クイックスタート

awkコマンドを実行して文字列を出力してみてください

ubuntu

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
出力結果
hello awk command world
hello
awk
command
world

macos

MacPorts

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
出力結果
hello awk command world
hello
awk
command
world

windows

WSL2

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
出力結果
hello awk command world
hello
awk
command
world

MSYS2 MINGW64

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
出力結果
hello awk command world
hello
awk
command
world

実行手順

ubuntu

クリックして詳細を開く

事前確認

以下のコマンドを端末に打ち込んでcommand not foundが出なければokです

特にありません

preinstall

端末でcommand not foundが出たコマンドを以下のコマンドでインストールしてください

特にありません

コマンド

以下のコマンドを実行することで詳細のような文字列が出力されるはずです

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
詳細
hello awk command world
hello
awk
command
world

macos

クリックして詳細を開く

事前確認

以下のコマンドをターミナルに打ち込んでcommand not foundが出なければokです

特にありません

※macosはMacPortsパッケージマネージャを使用してコマンドを管理します。もしインストールしていない方は以下のリンクからMacPortsのインストール手順をご覧ください

またコマンドに別名を設定して既存の環境と競合しないでコマンドを呼び出せるようにします。

初めてこのブログを利用する方は、以下の2つの記事を参考に環境構築してください

preinstall

ターミナルでcommand not foundが出たコマンドを以下のコマンドでインストールしてエイリアスを設定してください

特にありません

コマンド

以下のコマンドを実行することで詳細のような文字列が出力されるはずです

echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
詳細
hello awk command world
hello
awk
command
world

windows

クリックして詳細を開く

事前確認

以下のコマンドをプロンプトに打ち込んでcommand not foundが出なければokです

WSL2
特にありません
MSYS2 MINGW64
特にありません

※windowsはWSL2とMSYS2 MINGW64で確認しています。可能な限りWSL2をインストールしていただいて、もし設定できなかった場合はMSYS2をインストールすることで実行できますが、所々WSL2でしか実行できないコマンドが出てくるかもしれません。WSL2とMSYS2のインストール方法は下記の記事を参考にしてください

preinstall

プロンプトでcommand not foundが出たコマンドを以下のコマンドでインストールしてください

WSL2
特にありません
MSYS2 MINGW64
特にありません

コマンド

以下のコマンドを実行することで詳細のような文字列が出力されるはずです

WSL2
echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
詳細
hello awk command world
hello
awk
command
world
MSYS2 MINGW64
echo "hello awk command world" | awk '{for (i=0;i<=NF;i++) printf "%s\n", $i}'
詳細
hello awk command world
hello
awk
command
world

後書き

NFに分割後の文字列分の数字が格納されています。$iのiに値が代入されることで、それぞれの文字列にアクセスしています