文末へ
sed “s/X/$AA/g” file1 > file2
$AAはforeach〜endでループする 4/30/04
もう少し具体的に:
input.orgの中身にX(置換したい文字)を入れて、次のようなCシェルを作成する。10/18’5
#!/bin/csh
-f
set
ORG = input.org
set
INP = input
foreach
ichan(1 2 3 4 5)
sed "s/X/$ichan/g" $ORG >
$INP
main.run < $INP
end
置換したい文字が複数ある場合
sed -e
"s/CCYY/${CCYY}/g" -e "s/MM/${MM[$n]}/g" -e
"s/PERI/${PERI}/g" $ORG > $INP
・shutdow
Ø
(/sbin/)shutdown
–i0 –g0 –y (return)
OK プロンプトが返ってくる。
電源をoffしてよい。(本体をオフしてから周辺機器をオフ)
電源オン(周辺機器をオンしてから本体オン)
・リブート
rootで
reboot
(return)
ログイン画面が返ってくる
・おまじない
sync
sync
init
0
dmesg(return)
標準出力に出されるのでgrepなども可 5/23/04
あるいは、/var/admにログが記録されている(10/28’5)
less ??
で複数のファイルを同時に開く事が可能
次のファイルに行くときは:n(return)—viとおなじ 8/23/04 文書の先頭
ファイルを探す
find . -name "*grad*" -print 9/18’04 文書の先頭
foreach DD( 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 )
if( ! -e $DD) then ## !のあとスペースが必要
mkdir $DD
endif
cd $DD
tar xf /dev/rmt/1n
cd ..
end
if ($name ==
"boo") then
echo
"I am the eldest"
else if ($name ==
"hoo") then
echo
"I am the second eldest"
else if ($name ==
"woo") then
echo
"I am the youngest"
else
echo
"Who am I?"
endif
引用:京大:高崎先生
変数を$1と定義すれば、引数がはいる。
!/bin/csh -f
#argment
echo $1
ls -la ${1}.txt
set target = $DD
@ target += 1 ## increment 数字として扱うには@が必要!
if( $target < 10 ) then
set target2 = 0$target ## 文字として操作するので空白などは不要。
mv $DD $target2
else
mv $DD $target
endif
end
バックグラウンドでftpするときには次のコマンドで実施。
ftp –n < inp & (return)
インプットファイルの中身—ftpで入力すべき内容を記述する。
パスワードを入力しなくてはいけないのがちょっと難点。
open Hostname
user anonymous PassWard
cd /????
mget *
close
bye
11/30’5
/bin/uuencode $org_file $name_file > $dammy.uu
$org_fileは添付したいファイル名
$name_fileはメール上で表示されるファイル名
$dammy.uuは送信用のファイル。名前は何でもよい
/usr/ucb/mail -s $subject $send_mail_adress < $txt
$subjectはメール上に表示される表題。
$send_mail_adressは送信のあて先。
$txtはメールの本文。添付ファイルを送る場合は前述の$dammy.uuを指定するとよい。
12/10’5
ファイルをまとめる。
tar cpf - PNG > png.tar &
上書きリダイレクトの際、よく使う「>& ! o_err」の!は有効ではない。
ファイル名「!」なるファイルに、出力が記録される。通常は、上書き可。