copied to clipboard!
string awk

[awk] Run and understand Add else to if statement to output non-matching string

created-2025/12/14 updated-2026/03/23

Introduction

This repository executes a program that branches depending on whether the string obtained by executing the awk command is greater than or equal to the specified field.

The commands you need to install

  1. git

Quickstart

If you have already installed the above command, run the following command to download it from the repository, then change the directory and run the awk command to see how the output differs depending on the number of fields in the string.

ubuntu

git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Output results
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

macos

MacPorts

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Output results
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

windows

WSL2

git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Output results
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

MSYS2 MINGW64

git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Output results
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

Procedure

ubuntu

Click to open details

Advance confirmation

Enter the following command into the terminal and if command not found does not appear, it is OK.

git --version

preinstall

Please install the command that shows “command not found” in the terminal using the following command.

sudo apt install git

command

Executing the following command in the terminal should output a string similar to the following:

git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Detail
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

macos

Click to open details

Advance confirmation

Enter the following command into the terminal and if command not found does not appear, it is OK.

source ~/bashrc_folder/macports_alias
git --version

*MacOS uses the MacPorts package manager to manage commands. If you haven’t installed it yet, please refer to the MacPorts installation instructions at the link below. Also, set an alias for the command so that you can call the command without conflicting with the existing environment. If you are using this blog for the first time, please refer to the following two articles to set up your environment.

preinstall

If the command not found appears in the terminal, install it using the following command and set an alias.

sudo port install git
echo 'alias git="/opt/local/bin/git"' >> ~/bashrc_folder/macports_alias

command

Executing the following command in the terminal should output a string similar to the following:

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Detail
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

windows

Click to open details

Advance confirmation

Enter the following command into the prompt and if command not found does not appear, it’s OK.

WSL2
git --version
MSYS2 MINGW64
git --version

*Windows has been confirmed to work with WSL2 and MSYS2 MINGW64. Please install WSL2 if possible, and if you are unable to set it up, you can run it by installing MSYS2, but there may be some commands that can only be run in WSL2. Please refer to the following article for instructions on how to install WSL2 and MSYS2.

preinstall

If the command not found appears in the prompt, please install it using the following command.

WSL2
sudo apt install git
MSYS2 MINGW64
pacman --sync git

command

By executing the following command at the prompt, you should get the following output:

WSL2
git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Detail
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q
MSYS2 MINGW64
git clone https://github.com/trygfmi/awk_if-else
cd awk_if-else
cat start_awk_if-else.sh
chmod 744 start_awk_if-else.sh
./start_awk_if-else.sh
Detail
oneline:not match-a b c
oneline:not match-d e f
oneline:g h i j k
oneline:l m n o p q
multiple line:not match-a b c
multiple line:not match-d e f
multiple line:g h i j k
multiple line:l m n o p q

Afterword

It is executed in both one-line and multi-line formats. If you want to use if and else in the one-line format, you can write it as follows:

awk '{if (NF >= 5) {print "oneline:"$0} else {print "oneline:not match-"$0}}' test.txt

Leave a Reply

Your email address will not be published. Required fields are marked *

©︎ 2025-2026 todo