sed
$ sed -e '10q' file
fileの先頭10行を表示して、終了(q)。
$ sed -e '/^$/d' file
file中の空白行を削除(d)
$ sed -e 's/UNIX/unix/g' file
UNIX を unix に全て(g)置換(s)。
$ sed -f script-file target-file
script-file の内容で target-file を処理。
第一引数の拡張子を表示
(例)
#!/bin/sh
# this file name is t.show.ext
#
# ドットあり
j=`echo $1 | sed 's/.*\(\..*\)$/\1/'`
# どっとなし
k=`echo $1 | sed 's/.*\.\(.*\)$/\1/'`
echo $j
echo $k
$ ./t.show.ext hoge.ext
> .ext
> ext
となる。
第一引数で読み込んだ中身のドット以降を表示
(例)
#!/bin/sh
# this file name is t.show.ext2
#
# 拡張子あり
i=`sed -e 's/.*\.\(.*\)$/\1/' $1`
# 拡張子あり
#j=`sed -e 's/.*\(\..*\)/\1/' $1`
echo $i
$ cat t.t
> 1.rb
> 2.rb
> 3.rb 4.rb
$ ./t.show.ext2 t.t
> rb rb rb rb
となる。改行が入らないのは御愛敬。
DOSで作成したファイルから^Mを削除する
$ sed -e 's/^M(ctrl+v,enter)$//g'
戻る