Visit Our UNIX and Linux User Community


Trouble with part of an exercise


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trouble with part of an exercise
# 1  
Old 07-25-2009
Trouble with part of an exercise

Hi, 'm trying to do an exercicise, and one part is:

Code:
ls -l $1 | awk '
    BEGIN {
       max = $5;
    }
    {
       if ($5 > max){
          max = $5;
       }
    }
    END {
    print "Tamanio mayor fichero = " max; }'

# Imprimimos ahora el menor tamaņo de fichero
ls -l $1 | awk '
    BEGIN {
       min = $5;
    }
    {
       if ($5 < min){
          min = $5;
       }
    }
    END {
    print "Tamanio menor fichero = " min; }'

Seek the maximum and minimum size of files that are to implement the command ls-l. The problem is that it shows me the right way to screen the most, but not the least, and more turns that I fail to see what could be the problem.

Thanks

Last edited by Franklin52; 07-26-2009 at 09:08 AM.. Reason: adding code tags
# 2  
Old 07-26-2009
To keep the forums high quality for all users, please take the time to format your posts correctly.

Use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)
Thanks.

The command of the BEGIN section executes before any input is read so the value of min is empty, to find the minimum size you can do something like this:

Code:
ls -l $1 | awk '
NR==2{
  min = $5; next
}
{
  if ($5 < min){
    min = $5;
  }
}
END {print "Tamanio menor fichero = " min; }'

Regards
# 3  
Old 07-26-2009
Many thanks, it works !! But can u explain me why or what is NR == 2 ??? I don't understand :S

Many many thanks

Last edited by Phass; 07-26-2009 at 09:40 AM..
# 4  
Old 07-26-2009
Quote:
Originally Posted by Phass
Many thanks, it works !! But can u explain me why or what is NR == 2 ???

Many many thanks
The command reads the first value on the second line of the command ls -l. The first line is something like: total xxx.

Regards
# 5  
Old 07-26-2009
Ok, it's finished !! Many thanks !

Previous Thread | Next Thread
Test Your Knowledge in Computers #327
Difficulty: Easy
The Windows 7 operating system has seven main editions.
True or False?

8 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to make a loop to read the input from a file part by part?

Hi All, We've a VDI infrastructure in AWS (AWS workspaces) and we're planning to automate the process of provisioning workspaces. Instead of going to GUI console, and launching workspaces by selecting individual users is little time consuming. Thus, I want to create them in bunches from AWS CLI... (6 Replies)
Discussion started by: arun_adm
6 Replies

2. Homework & Coursework Questions

Grades exercise

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Write a shell script program that will input a name and a mark between 0 and 100. The program then displays the... (9 Replies)
Discussion started by: UniverseCloud
9 Replies

3. UNIX for Dummies Questions & Answers

UNIX Exercise

Hi, I am learning unix. I want to practice few small excercises. Please suggest me some goor URL to practice. Thanks in advance. (1 Reply)
Discussion started by: stew
1 Replies

4. Shell Programming and Scripting

[Solved] Printing a part of the last line of the specific part of a file

Hi, I have 80 large files, from which I want to get a specific value to run a Bash script. Firstly, I want to get the part of a file which contains this: Name =A xxxxxx yyyyyy zzzzzz aaaaaa bbbbbb Value = 57 This is necessary because in a file there are written more lines which... (6 Replies)
Discussion started by: wenclu
6 Replies

5. Shell Programming and Scripting

A very tough exercise

hello everyone!:) I have an exercise which I think is difficult for beginner like me. Here is the exercise Create a shell script, which takes a directory as command line argument. Script displays ten first lines from every text file in that directory. After displaying the lines from the... (1 Reply)
Discussion started by: googlevn
1 Replies

6. Homework & Coursework Questions

Help with this exercise

you are to write a program which will read in a tax rate (as a percentage) and the prices of 5 items. the program is to calculate the total price, before tax, of the items and then the tax payable on those items, and then the total amount due. the tax payable is computed by appliying the tax rate... (1 Reply)
Discussion started by: bunkercrazy
1 Replies

7. UNIX for Dummies Questions & Answers

[question] hard exercise, help needed

Hello guys. Well, on this exercise i need the average "chargeAmount" per hour (for each hour). with this code : cat getusagesummarywrongmatch | grep -iv MOU2GRTObject | cut -d'|' -f4,14 | grep -i chargeamount | cut -d' ' -f2 http://img227.imageshack.us/img227/5889/65969235do0.jpg i got... (2 Replies)
Discussion started by: EnioMarques
2 Replies

8. UNIX for Dummies Questions & Answers

[question] trouble with an 'exercise'

Hello guys.. well, im kinda newbie with unix because i started to learn it like 2 weeks ago. then i started to make some exercises, but i got stucked on this one : so, i need to know how many different 'names' has the 5th field and how many times each name appears. i was trying with a... (6 Replies)
Discussion started by: EnioMarques
6 Replies

Featured Tech Videos