on unix ...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting on unix ...
# 1  
Old 08-19-2003
CPU & Memory on unix ...

hi, ý'm studying on unix myself. I tried some codes, but it doesnt work and I cant find the error. The codes ;
#!/bin/bash
# fileinfo.sh

FILES="/var/mail"


for file in $FILES
{

if [ ! -e "$file" ] # Check if file exists.
then
echo "$file does not exist."; echo
continue
fi

ls -l $file | awk '{if ($5>50000) print $9 }' >sonuc
}

open(DOSYA, "sonuc");
@veriler = <DOSYA>;
close(DOSYA);

foreach $dongu (@veriler) {
($isim) = split (/ /, $dongu);
print $isim;

}

exit;
# 2  
Old 08-19-2003
Well, there's other stuff, but for starters try FILES=`ls /var/mail`

Oh, and you can remove the continue command in the foreach loop, since it's not really doing anything at the end of the loop...
# 3  
Old 08-19-2003
I did your recommendation,oombera,but it didnt work.
The first error ;

./deneme.pl: syntax error near unexpexted token 'open(DOSYA,'
./deneme.pl 'open(DOSYA, "sonuc.txt");'
# 4  
Old 08-19-2003
Re: on unix ...

Unless you're worried about the files disappearing in middle of running this script, I don't think you need to check to make sure they exist. I use KSH, but I think this should work:
Code:
ls -l "/var/mail" | awk '{if ($5>50000) print $9}'

I don't know if this is actually what your goal was in the other script.. it just displays the name of any file over 50000 bytes. This may be reduced too much ... instead of just displaying the names using awk, why did you redirect to a file and then print the file to the screen?
# 5  
Old 08-19-2003
The bit starting at open(DOSYA, "sonuc"); and the brace following print $isim; appears to be in Perl rather than bash.

Disclaimer: I am not a bash expert.

But the Perl bit can be executed by changing your code thus:
Code:
#!/bin/bash 
# fileinfo.sh

FILES="/var/mail" 

for file in $FILES
{

    if [ ! -e "$file" ] # Check if file exists.
    then
        echo "$file does not exist."; echo
        continue 
    fi

    ls -l $file | awk '{if ($5>50000) print $9 }' >sonuc
}

perl -lne 'open(DOSYA, "sonuc");
    @veriler = <DOSYA>;
    close(DOSYA);

    foreach $dongu (@veriler) {
        ($isim) = split (/ /, $dongu);
        print $isim;

    }'

exit;

But the whole thing would be easier using Perl (or Ruby) end to end rather than mixing and matching commands in the shell.
# 6  
Old 08-20-2003
I changed code like this ;

-------------------------------------------------------------------------------
#!usr/local/bin/perl
# fileinfo.sh

FILES="/var/mail"


for file in $FILES
do

if [ ! -e "$file" ] # Check if file exists.
then
echo "$file does not exist."; echo
continue
fi

ls -l $file | awk '{if ($5>50000) print $9 }' >sonuc
done

perl -lne 'open(DOSYA, "sonuc");
@veriler = <DOSYA>;
close(DOSYA);

foreach $dongu (@veriler) {
($isim) = split (/ /, $dongu);
print $isim;

}'

exit 0;

-------------------------------------------------------------------------

my goal is to send mail to a person whose mail size is over 50000 bytes. now, I just try ýf the file (sonuc) can be open and read or not. But now I have another problem, it works but, I must push enter key two times,and when the program finished, it dosent leave.
for ending program,I must do 'Ctrl+d' .
what can I do???..
My aim is that I want to do this program on perl...
# 7  
Old 08-20-2003
hi, I did some changes on my program, here is the code;

-----------------------------------------------------------------------
#!usr/bin/perl
# fileinfo.sh

FILES="/var/mail"


for file in $FILES
do

if [ ! -e "$file" ] # Check if file exists.
then
echo "$file does not exist.";
fi

ls -l $file | awk '{if ($5>50000) print $9 }' >sonuc
done

perl -lne 'open(DOSYA, "sonuc");
@veriler = <DOSYA>;
close(DOSYA);

foreach $dongu (@veriler) {
($name) = split (/ /, $dongu);

$adress="$name@yahoo.com";
$sendmail="/usr/bin/sendmail";
{
open (MAIL, "|sendmail");
print MAIL "From\:sender\n";
print MAIL "To\:$adress\n";
print MAIL "Subject\:Your mail ....\n";
print MAIL "Please ...\n";
close (MAIL);
}
}'

exit 0

----------------------------------------------------------------

but mail doesnt go to person. What can I do???..
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

VIP Membership - The UNIX and Linux Forums - Get Your UNIX.COM Email Address Here

We work hard to make The UNIX and Linux Forums one of the best UNIX and Linux knowledge sources on the net. The site is certainly one of the top UNIX and Linux Q&A sites on the web. In order to provide certain members the best quality account services, you can now get some great extra features by... (2 Replies)
Discussion started by: Neo
2 Replies

2. Shell Programming and Scripting

File Transfer from Window server to UNIX and UNIX to UNIX

Dear All, Can someone help to command or program to transfer the file from windows to Unix server and from one unix server to another Unix server in secure way. I would request no samba client. (4 Replies)
Discussion started by: yadavricky
4 Replies

3. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

4. Shell Programming and Scripting

Batch job in unix server to move the pdf file from unix to windows.

Hi Experts, I have a requirement where i need to setup a batch job which runs everymonth and move the pdf files from unix server to windows servers. Could some body provide the inputs for this. and also please provide the inputs on how to map the network dirve in the unix like that... (1 Reply)
Discussion started by: ger199901
1 Replies

5. Shell Programming and Scripting

FTP script for sending a file from one unix directory to another unix server director

Hi, My local server is :/usr/abcd/ Remote server is :/Usr/host/test/ I want to send files from local unix directory(All files starting with O_999) to remote host unix directory. Can any body give me the Unix Shell script to do this. One more doubt: Shall we need to change the file... (1 Reply)
Discussion started by: raja_1234
1 Replies

6. UNIX for Advanced & Expert Users

missing Path(in UNIX) when i launch a job on to unix machine using windows SSh

hi i want run an unix application from a windows program/application.i am using SSH(command line version)to log on to a unix machine from windows. the application has to read a configuration file inorder to run. the configuration file .CFG is in bin in my home directory. but the application... (1 Reply)
Discussion started by: megastar
1 Replies

7. UNIX for Dummies Questions & Answers

Unix History Question: Why are filenames/dirnames case sentsitive in Unix?

I tried looking for the answer online and came up with only a few semi-answers as to why file and directory names are case sensitive in Unix. Right off the bat, I'll say this doesn't bother me. But I run into tons of Windows and OpenVMS admins in my day job who go batty when they have to deal... (3 Replies)
Discussion started by: deckard
3 Replies

8. UNIX for Dummies Questions & Answers

UNIX problem? Unix programm runs windows 2000 CPU over 100%

Okee problems...!! What is happening: Unix server with some programms, workstations are windows 2000, the workstations work good but when you start a programm on the Unix server the CPU of the workstations go to 100% usage resulting that the system gets very slow. The programm well its running so... (2 Replies)
Discussion started by: zerocool
2 Replies
Login or Register to Ask a Question