summaryrefslogtreecommitdiff
path: root/1088/CH5/EX5.6/Example6.sce
blob: 999ca84c069ec89071b922f5d1b74b56483a3a4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
mode(-1)
clear
flag=1
clc

printf("Example 6    :               Show the method of file counting using the wc command \n")
disp("****************************************************************")
disp("Answer    :   ")
disp("INSTRUCTIONS   : ")
printf("\nHere all instructions are preloaded in the form of a demo\nPRESS ENTER AFTER EACH COMMAND to see its RESULT\nPRESS ENTER AFTER EACH RESULT TO GO TO THE NEXT COMMAND\n")
halt('.............Press [ENTER] to continue.....')
halt("")
clc
printf("\tUNIX SHELL SIMULATOR(DEMO VERSION WITH PRELOADED COMMANDS)\n\n\n")


printf("\n# Enter the name of the file which you want to access  \n\n")
nam=input('$ cat   ','s')
printf("# This searches for a file named %s to display\n\n",nam)


if ~isfile(nam) then
    flag=0
    printf("\n%s : file not found \n",nam)
    printf("# Create a new file named %s?\n # y : Yes \n # n : No \n",nam)
    resp=input('','s')
    if resp=='y' then
        flag=1
        printf("\n#***Enter the contents of the file %s*****\n# [Enter ^ in a newline to end and close the file]\n",nam)
        printf('\n\n$ cat > %s                      #to create a file named %s and fill its contents\n',nam,nam)
        fhdr=mopen(nam,'wt')
        i=1
        while %t
            cont=input(string(i)+'.  ','s')
            if (cont=='^') then
                break
            end
            mfprintf(fhdr,"%s\n",cont)
            i=i+1
        end
        mclose(fhdr)
    end
end

if flag==1 then
    c=1
    w=0
    l=0
    clc
    printf("\n $ cat %s    \n",nam)
    fhdr=mopen(nam,'rt')
    while %t
        [n,a]=mfscanf(fhdr,"%c")
        if meof(fhdr) then
            break
        end
        
            printf("%c",a)
            c=c+1
         if ascii(a)==32 then
            w=w+1
        end
        if ascii(a)==10 then
            w=w+1
            l=l+1
        end
    end
    mclose(fhdr)
    halt('')
      printf('\n\n$ wc %s                      #to get the count in file named %s \n',nam,nam)
   halt('') 
   printf('\t%d\t%d\t%d   %s\n',l,w,c,nam)
    printf("\n# This means there are %d words,%d characters\n \t and %d lines in the file %s \n",w,c,l,nam)
     printf('\n\n$ wc -l  %s                      #to get the line count in file named %s \n',nam,nam)
   halt('') 
   printf('\t%d  %s\n',l,nam)
    printf("\n# Number of lines \n")
     printf('\n\n$ wc -w  %s                      #to get the word count in file named %s \n',nam,nam)
   halt('') 
   printf('\t%d  %s\n',w,nam)
    printf("\n# Number of words \n")
     printf('\n\n$ wc -c  %s                      #to get the character count in file named %s \n',nam,nam)
   halt('') 
   printf('\t%d  %s\n',c,nam)
    printf("\n# Number of characters \n")
end


printf("\n\n\n$ exit        #To exit the current simulation terminal and return to Scilab console\n\n")
halt("........# (hit [ENTER] for result)")
//clc()

printf("\n\n\t\t\tBACK TO SCILAB CONSOLE...\nLoading initial environment')
sleep(1000)