Simple
Sand
Samples
プログラミング言語サンプル集
TOPへ
Hello World!(各言語のTOP)
awk AWKコマンド
banner 花文字(バナー)
basename パスからファイル名抽出
cal カレンダー表示
cat ファイルの連結、内容表示
cd ディレクトリ変更
cksum CRCチェックサム
cp ファイルコピー
cut テキスト列抽出
date 日付と時間
dd バイナリ生成
diff ファイル比較
dirname パスからディレクトリ名取得
expand タブスペース変換
ed エディタ
find ファイル検索
gdb GNUデバッガ
git バージョン管理
global ソースコードTAGGING
grep 文字列検索
hd バイナリ16進ダンプ
head テキスト先頭抽出
hexdump バイナリダンプ
join フィールド一致行結合
ld リンクコマンド
ln シンボリックリンク
ls ファイルリスト
lv 文字コード変換
md5sum MD5メッセージダイジェスト
mkdir ディレクトリ作成
mv ファイル名(ディレクトリ)変更
netdiscover コンピュータ検索
nl 番号付け
od バイナリダンプ
paste ファイルを横に並べて表示
patch パッチを当てる
perl Perlコマンド
pr ページ付け、段組
printf 書式付き表示
pushd,popd ディレクトリ変更復帰
pwd カレントディレクトリ表示
rename ファイル名を一括変更
rev テキスト左右反転
rmdir 空のディレクトリ削除
scp リモートファイルコピー
sed ストリームエディタ
seq 数列生成
sort ソート
split ファイル分割
sleep 指定時間遅延
sum チェックサム
svn バージョン管理
tac テキスト上下反転
tail テキスト末尾抽出
tar 書庫操作、圧縮、解凍
touch タイムスタンプ更新
tr 文字一括置換
unexpand スペースタブ変換
uniq ソート済テキストの重複削除
vim vimエディタ
wc 単語数行数カウント
xargs 引数作成
zip,unzip ZIP圧縮解凍

説明のないとってもシンプルなサンプルプログラム集
COBOL awk C言語 D言語 GO言語 Lua Vim
bash Perl Gauche Clojure CLISP EmacsLisp VimScript
tcsh Ruby Groovy Java C# VBScript JavaScript
Io言語 Python Erlang Scala VB.NET Excel/VBA PHP
Tcl Haskell OCaml PowerShell Windows Unix/Linux

Linuxコマンド > awk awkコマンド

1
gawk [ options ] -f program-file [ -- ] file ...
~$ cat sample5.txt
1       2       3       4
5       6       7       8
9       10      11      12
13      14      15      16
17      18      19      20
21      22      23      24
25      26      27      28
29      30      31      32
33      34      35      36
37      38      39      40
~$ 

指定行のみ抽出(5行目)

~$ awk 'NR==5' sample5.txt
17      18      19      20
~$ 

指定行のみ抽出(2行目から3行)

~$ awk 'NR>=1 && NR<=3' sample5.txt
5       6       7       8
9       10      11      12
~$ 

指定行のみ抽出(8行目以降すべて)

~$ awk 'NR>=8' sample5.txt
29      30      31      32
33      34      35      36
37      38      39      40
~$ 

正規表現でマッチした行のみ抽出

~$ awk '/^[345]/' sample5.txt
5       6       7       8
33      34      35      36
37      38      39      40
~$ 

累計する

~$ seq 10 | awk '{sum+=$0}END{print sum}'
55
~$ 

1文字ずつ分割する

~$ echo HELLO | awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++)print $i}'
H
E
L
L
O
~$ 



~$ ls
aa  bb  cc
~$ head -1 * | cat -n
     1  ==> aa <==
     2  #!/bin/bash
     3  
     4  # bashでHELLOと表示するスクリプト
     5  
     6  ==> bb <==
     7  #!/usr/bin/perl
     8  
     9  # perlでHELLOと表示するスクリプト
    10  
    11  ==> cc <==
    12  #!/usr/bin/python
    13  # -*- coding:utf8 -*-
    14  # pythonでHELLOと表示するスクリプト
~$ 

複数ファイルの指定行の表示

~$ awk 'FNR==1' *
~$ 

複数ファイルの指定行の表示

~$ awk 'FNR==1{printf"%-20s",$1} FNR==3{print $2}' *
#!/bin/bash         bashでHELLOと表示するスクリプト
#!/usr/bin/perl     perlでHELLOと表示するスクリプト
#!/usr/bin/python   pythonでHELLOと表示するスクリプト
~$