カテゴリー別アーカイブ: unix

ed

P                                  コマンドモードで*がつく

1,$n                             ファイル全体を行番号付きで表示
n                                  カレント行を表示する
3n                                カレント行を3行目にする

a                                   カレント行の次の行を挿入して編集
i                                    カレント行の前の行を挿入して編集
c                                   カレント行を削除して編集
※編集モードは.で戻る

d                                   指定行を削除。行を指定しなければカレント行削除。
j                                    指定した行範囲を一行に連結
g/regular/command     検索
s/regular/replace/g      置換

w                                  書き込み
q                                   終了

<例>
1. 検索して行番号を表示
g/regular/n

2. 1行目から最終行までの”abc”を”def”に変換
1,$s/abc/def/g

telnet

telnetについて。斜体はエコー内容を現す。max os10.8 ターミナルにて。

<HTTPリクエスト>
telnet IPアドレス 80
Trying xxx.xxx.xxx.xxx…
Connected to xxx.xxx.xxx.xxx.
Escape character is ‘^]’.

GET http://xxx.xxx.xxx.xxx/index.html

プロキシサーバーを経由するときも同様である
telnet プロキシサーバーのIPアドレス ポート番号
Trying xxx.xxx.xxx.xxx…
Connected to xxx.xxx.xxx.xxx.
Escape character is ‘^]’.

GET http://xxx.xxx.xxx.xxx/index.html

正確には
GET /index.html?arg1= HTTP/1.0
Host:xxx.xxx.xxx.xxx

POST /index.html HTTP/1.0
Host:xxx.xxx.xxx.xxx
key1=val2&key2=val2

という風にする

<SMTPサーバーを利用してメール送信>
ユーザー名やパスワードはbase64に変換して入力するのでopensslを用いて用意しておく
echo -n username | openssl enc -e -base64
※echoには-nオプションをつけないと改行も変換されてしまうので注意
echo dXNlcm5hbWUK | openssl enc -d -base64

telnet SMTPサーバーのIP ポート番号
220 ~
HELO SMTPサーバーのIP
250 ~
AUTH LOGIN
334 VXNlcm5hbWU6 <-Username:のこと
base64にエンコードしたusername
334 UGFzc3dvcmQ6 <-Password:のこと
base64にエンコードしたpassword
~ Authentication successful
MAIL FROM:送信元のメールアドレス
~ Ok
RCPT TO:送信先のメールアドレス
~ Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject:test
From:送信元のメールアドレス
To:送信先のメールアドレス
This is a test mail from telnet.
.
~ Ok

読解速度計測

lynxで英文記事を読む時の読解速度を計算したいと思った。

vimによる単語数カウント
範囲を選択して単語数を計測する
:2,10w !wc -w

時間を計測する
1. dateをunix時間に変換
$date ¥+¥%s

2. 1のコマンドを計測終了後再実行
$date ¥+¥%s

3. 1と2の差を計算(秒数)
$echo “1の結果-2の結果” | bc

読み始めと終わりの秒数差で計測が可能となる。
一分当たりの読解量=単語数/計測分
ネイティブは300以上らしい。