awk と gawk の違い
目次
スポンサードリンク
awk とは
awk は開発者の頭文字Aho、Weinberger、Kernighanから取られたもので、テキスト処理に特化したスクリプト言語です。多くのUNIX、Linux環境にはデフォルトでインストールされており、特定の文字列を含む行の抽出、ファイルの行数カウント、列結合、数値データの集計など、様々な用途に活用されています。
awkには、環境により gawk、mawk など種類がありますが、RedHat系のLinuxサーバーでは、awk と gawk は同じコマンドです。 手元のCentOSでは以下の結果になりました。
[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@hostname ~]#
[root@hostname ~]# which awk
/usr/bin/awk
[root@hostname ~]#
[root@hostname ~]# ll /usr/bin/awk
lrwxrwxrwx. 1 root root 4 May 11 2018 /usr/bin/awk -> gawk
whichコマンドでawkコマンドの場所を調べると /usr/bin/awk でした。lsコマンドで /usr/bin/awk を調べると、gawkのシンボリックリンクでした。
gawk の解説
manコマンドでawkを調べると(中身はgawkですが)、以下のように解説されていました。
DESCRIPTION
Gawk is the GNU Project’s implementation of the AWK programming language. It conforms to the definition of the language in the POSIX 1003.1 Standard. This version in turn is based on the description in The AWK Programming Language, by Aho, Kernighan, and Weinberger. Gawk provides the additional features found in the current version of UNIX awk and a number of GNU-specific extensions.
以下翻訳、、
gawkは、AWKプログラミング言語のGNUプロジェクトによる実装です。POSIX 1003.1 規格で定義されているAWK言語に準拠しています。さらに、このgawkは、Aho、Kernighan、Weinbergerによる「The AWK Programming Language」で記述されているAWK言語の定義に基づいています。gawkは、現行のUNIX awkにある機能に加え、GNU独自の拡張機能も提供します。
プログラミング言語AWK
AWK 言語作者による解説本。名著。
Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法