トップ «前の日記(2012-05-28(Mon)) 最新 次の日記(2012-06-03(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2012-06-01(Fri) 朝は薄曇り

特定行削除

dhcp 環境下で、時々sshしようとしてIPアドレスが 変る度のエラーを見て、$HOME/.ssh/known_hosts の 行を一々 vi +num known_hosts で開き、ddで消し :x で閉じていたが、ちょっと面倒になった。

$ for x in `seq 5`; do echo $x >> foo.txt; done
 
$ cat foo.txt
1
2
3
4
5
 
$ sed -i 2,4d foo.txt
 
$ cat foo.txt
1
5

以前書いた ed の(隠し?)機能のことを思い出した。
それから foo.txt の作成冗長にも気づく。

$ seq 5 > foo.txt
 
$ echo -e '2,4d\nw' | ed -s foo.txt
 
$ cat foo.txt
1
5

FreeBSD9.0

$ uname -a
FreeBSD $HOSTNAME 9.0-RELEASE FreeBSD 9.0-RELEASE #0: \
  Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:\
  /usr/obj/usr/src/sys/GENERIC  amd64

GNUでないed(1)が気になって、KVMに入れてしまった。
インストール方法が若干簡略になった気がする。

$ jot 5 > foo.txt
$ cat foo.txt
1
2
3
4
5
$ echo  -e "2,4d\nw" | ed -s foo.txt
$ cat foo.txt
1
5

man page には、"The ed utility does not recognize multibyte characters." とあるが、s/あっはっは/うっふっふ/ くらいはできた(UTF-8)。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。