■USP友の会、「4月13日、渋谷でシェル芸勉強会」の予習をしたい方向け
定員70名に拡大したらしい。
第4回春爛漫シェル芸人撩乱勉強会&第22回勝手に新歓定例会
http://kokucheese.com/event/index/78710/
■出題範囲が出てます。
$ w3m -dump http://www.usptomo.com/PAGE=20130315Ugrep -A 8 "出題範囲"
出題範囲(予定)は、だいたいこんな感じです。
AWK
sed
grep
tr
w3m
curl
wget
■さっそくAWKが大文字ですね。
以下で分かるとおり、言語としてはAWK、コマンドとしてはawkです。
$ man awk | grep -A 2 ^DESC
DESCRIPTION
Gawk is the GNU Project’s implementation of the AWK programming lan‐
guage. It conforms to the definition of the language in the POSIX
■各コマンドの一行説明を出しましょう。
$ echo "
AWK
sed
grep
tr
w3m
curl
wget" | tr '[A-Z]' '[a-z]' | \
for list in `xargs`;do apropos `echo "$list" | sed s/^/"\^"/ | sed s/"\$"/"\\\\$"/` ;done
awk (1) - pattern scanning and processing language
sed (1) - stream editor for filtering and transforming text
grep (1) - print lines matching a pattern
tr (1) - translate or delete characters
w3m (1) - text base pager/WWW browser
curl (1) - transfer a URL
wget (1) - wget.info
■バージョンを確認しましょう。
$ echo "
AWK
sed
grep
tr
w3m
curl
wget" | tr '[A-Z]' '[a-z]' | \
for list in `xargs`;do \
echo "[$list]";
if [ "$list" == "w3m" ];then \
env LANG=C "$list" -version | grep -i ver; \
else
env LANG=C "$list" --version | grep -i "ver\|$list.*[0-9]" ; \
fi; \
done | grep -v "License" | sed s/", options\|) lib\|verify,"/"&\n"/g
[awk]
GNU Awk 3.1.7
(at your option) any later version.
[sed]
GNU sed version 4.2.1
[grep]
GNU grep 2.6.3
[tr]
tr (GNU coreutils) 8.5
[w3m]
w3m version w3m/0.5.2+cvs-1.1027, options
lang=en,m17n,image,color,ansi-color,mouse,gpm,menu,cookie,ssl,ssl-verify,
external-uri-loader,w3mmailer,nntp,gopher,ipv6,alarm,mark,migemo
[curl]
curl 7.21.0 (i486-pc-linux-gnu) lib
curl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
[wget]
GNU Wget 1.12 built on linux-gnu.
■コマンドパスを確認しましょう。
$ echo "
AWK
sed
grep
tr
w3m
curl
wget" | tr '[A-Z]' '[a-z]' | for list in `xargs`;do whereis -b "$list";done
awk: /usr/bin/awk /usr/lib/awk /usr/share/awk
sed: /bin/sed
grep: /bin/grep
tr: /usr/bin/tr
w3m: /usr/bin/w3m /etc/w3m /usr/lib/w3m /usr/share/w3m
curl: /usr/bin/curl
wget: /usr/bin/wget
■上記にシンボリックリンクは含まれていないか確認しましょう。
$ echo "
AWK
sed
grep
tr
w3m
curl
wget" | tr '[A-Z]' '[a-z]' | \
for list in `xargs`;do whereis -b "$list";done | awk -F\: '{print $2}' | sed s/" "/"\n"/g | grep bin | ls -l `xargs`
-rwxr-xr-x 1 root root 104628 2010-04-22 10:22 /bin/grep
-rwxr-xr-x 1 root root 52996 2010-04-18 14:53 /bin/sed
lrwxrwxrwx 1 root root 21 2013-03-02 05:10 /usr/bin/awk -> /etc/alternatives/awk
-rwxr-xr-x 1 root root 116732 2012-03-31 22:01 /usr/bin/curl
-rwxr-xr-x 1 root root 36708 2010-04-28 10:36 /usr/bin/tr
-rwxr-xr-x 1 root root 1193060 2010-08-05 22:58 /usr/bin/w3m
-rwxr-xr-x 1 root root 329488 2010-09-05 22:43 /usr/bin/wget
■awkはgawkにシンボリックリンクされています。
「man awk」の際に「gawk」の説明が出る理由が分かりました。
$ ls -l /etc/alternatives/awk
lrwxrwxrwx 1 root root 13 2013-03-02 05:10 /etc/alternatives/awk -> /usr/bin/gawk
■IBM developerWorksを参照しよう。
「参考文献」や更に詳しく「学ぶために」にある通り、
「man」を参照する、ソースを見る等、ステップアップに関する情報もあります。
共通テーマ: 実例でわかる awk: 第 1 回
http://www.ibm.com/developerworks/jp/linux/library/l-awk1/
共通テーマ: 実例でわかる awk: 第 2 回
http://www.ibm.com/developerworks/jp/linux/library/l-awk2/
共通テーマ: 実例でわかる awk: 第 3 回
http://www.ibm.com/developerworks/jp/linux/library/l-awk3/index.html
共通テーマ: 実例でわかるsed: 第1回
http://www.ibm.com/developerworks/jp/linux/library/l-sed1/
共通テーマ: 実例でわかる sed: 第 2 回
http://www.ibm.com/developerworks/jp/linux/library/l-sed2/
共通テーマ: 実例でわかるsed: 第3回
http://www.ibm.com/developerworks/jp/linux/library/l-sed3/
Linux テキスト・ユーティティーでデータ抽出を簡易化する
http://www.ibm.com/developerworks/jp/linux/library/l-textutils/index.html
Linux の 101 試験対策: 正規表現を使用したテキスト・ファイルの検索
http://www.ibm.com/developerworks/jp/linux/library/l-lpic1-v3-103-7/
ヒント: trを使ってファイルをフィルターにかける
http://www.ibm.com/developerworks/jp/linux/library/l-tiptex5/index.html
cURL と libcurl を使ってインターネット経由でやりとりする
http://www.ibm.com/developerworks/jp/opensource/library/os-curl/index.html
RPM を使ってソフトウェアをパッケージ化する: 第 1 回 パッケージのビルドと配布
http://www.ibm.com/developerworks/jp/linux/library/l-rpm1/
Linux のコマンドラインから Twitter と FriendFeed の更新を行う
http://www.ibm.com/developerworks/jp/linux/library/l-friendfeed/index.html
■残念ながら、上記ではw3mの説明が無いので「w3m HomePage」を参照しましょう。
w3mとは?
http://w3m.sourceforge.net/index.ja.html
■CentOSのいずれかのバージョンではw3mやwgetをコンパイルした記憶があります。
CentOS4の方はw3mのコンパイルが必要かも知れません。
DebianにはLenny/Squeeze/Wheezy/Sidのいずれにもあります。
$ echo /home/labunix/cifs/centos* | \
for list in `xargs`;do \
echo -n "$list," | sed s%".*/"%%g ; \
sudo chroot "$list" rpm -qa | grep "wget\|w3m" | awk '{print $1}' | sort | xargs echo -n | sed s/" "/","/g ;echo ; \
done | awk -F\, '{printf "%-8s%30s%30s\n",$1,$2,$3}'
centos4 wget-1.10.2-1.el4_8.1
centos5 w3m-0.5.1-18.el5 wget-1.11.4-3.el5_8.2
centos6 w3m-0.5.2-16.el6.i686 wget-1.12-1.8.el6.i686
$ echo /home/labunix/cifs/[lsw]* | for list in `xargs`;do \
echo -n "$list," | sed s%".*/"%%g ; \
sudo chroot "$list" dpkg -l | grep "wget\|w3m" | awk '{print $2","$3}' | xargs echo -n | sed s/" "/","/g;echo ; \
done | awk -F\, '{printf "%-8s%5s%20s%5s%20s\n",$1,$2,$3,$4,$5}'
lenny w3m 0.5.2-2+lenny1 wget 1.11.4-2+lenny2
sid w3m 0.5.3-8 wget 1.14-1
squeeze w3m 0.5.2-9 wget 1.12-2.1
wheezy w3m 0.5.3-8 wget 1.13.4-3
■最小インストールでは含まれていない可能性もありますので、
ご確認、インストールの上、参加しましょう。