問題1
ユーザホームディレクトリ直下の全てのファイル名又はディレクトリ名を表示する
Cシェルプログラムである。空欄を埋めよ。
#
# search file and directory
#
set FILE=`ls −a`
foreach DIR ($FILE)
if(−d $DIR) then
echo $DIR directory
else
echo $DIR file
endif
end
問題2
ユーザホームディレクトリ直下の全てのファイルのサイズがゼロのもののみを表示し
そのトータル数も表示するCシェルプログラムである。空欄を埋めよ。
#
# search file and directory
#
echo ‘file size zero list‘
set FILE=`ls −a`
set NUM=$#FILE
while($#FILE)
if(−z $FILE[1]) echo −n $FILE‘ ’
shift FILE
end
echo ‘number of zero file=’$NUM
問題3
次の仕様にあったCシェルプログラムを作成せよ。
ユーザホームディレクトリ直下に処理すべきデータが以下の形式のファイルで
.userという拡張子のついた名前で数ファイルあります。このファイルのデータ
からユーザホームディレクトリ直下にpw.tmpというファイルに一行が以下の形式
になるように新しくファイルを作成せよ。User No.は、200から始まる連番
になるようにせよ。Home Directoryは/home/User Nameに
せよ。 Commentでのブランクの区切りはないものとしエラー処理は必要ない。
User Name:*:User No.:100:Comment:Home Directory:Login Shell
ファイル形式
1レコード目:User Name
2レコード目:Comment
3レコード目:Login Shell
cd $home/csh
set LIST=`ls *.user`
if($#LIST) touch pw.tmp
@ UNO=200
foreach FILE ($LIST)
set ARG=`cat $FILE`
echo ARG[1]':*:'$UNO':100:'$ARG[2]':/home/'$ARG[1]':'$ARG[3]>>pw.tmp
@ UNO++
end