Can I use columns from text files in if statements?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Can I use columns from text files in if statements?
# 1  
Old 12-02-2010
Can I use columns from text files in if statements?

Currently I am stuck on my program for my if statement, as I do not no how to get a specific collumn of text to check against my variable.

Code:
df -k /home/* > fd.txt
cat df.txt | tr -s " " | awk '{print $3, $4, $1}' > dfcap.txt

echo -n "Enter the size (in kilobytes) you wish to check against all user capacities: "
read cap

for i in df.txt
do
     if ($capacity -gt )
          echo [all used capacities above inputted variable]
     else
          echo [no one has a file usage above this size]
     fi
done

I know this is far from complete, but my main issue right now is that I do not know how to compare the variable against something else in a text file, and more specifically, a collumn in a text file. I'm trying to get it to check the first list in the second text file, but I can't seem to find anywhere how to do it
# 2  
Old 12-02-2010
I guess
Code:
df -k > fd.txt

should be
Code:
df -k > df.txt

by the way, you :
Code:
read cap

and then
Code:
if ($capacity -gt )

which should more likely be
Code:
if ( $cap -gt )

if the "Used" size is in column 2 :
after you have read cap , to display FS that have a bigger Used size than the entered quota :
Code:
df -k | awk -v q="$cap" '$2>q'


Last edited by ctsgnb; 12-02-2010 at 06:12 PM..
# 3  
Old 12-02-2010
ya, sorry for the misspelling ni the code, however the part i'm having difficulty with is after

if ($cap -gt [ ])

i don't know what should go into those square brackets. I don't know what argument will let me grab the text out of the df.txt file to compare it, then output anything that is greater then whatever the $cap variable was given.
# 4  
Old 12-02-2010
Think I know why you're confused what column to use: You don't have any columns, the file's just sitting there. Assuming the file's columns are still whitespace separated after all the tr-ing and awking you did, this will do:

Code:
while read A B C D E F G
do
        ...
done < df.txt

I don't know what df's output looks like on your system, you may have more columns or less, but you get the idea.

Oh, and you've got a useless use of cat in there.

Code:
tr -s " " < df.txt | awk '{print $3, $4, $1}' > dfcap.txt

# 5  
Old 12-02-2010
This is what I will do:
Code:
df -k /home/* | grep -v "Filesystem"|awk '{print $3, $4, $1}' > dfcap.txt

echo -n "Enter the size (in kilobytes) you wish to check against all user capacities: "
read cap

cat dfcap.txt | while read USED AVAIL FNAME
do
     if ($USED -gt $cap )
          echo $1 -- [all used capacities above inputted variable]
     else
          echo $1 -- [no one has a file usage above this size]
     fi
done

You may compare it with USED or AVAIL by changing the variable.

Last edited by Scott; 12-02-2010 at 07:08 PM.. Reason: Please use code tags
# 6  
Old 12-02-2010
code tags please.

also, you've got another useless use of cat.
# 7  
Old 12-02-2010
Quote:
Originally Posted by Corona688
Think I know why you're confused what column to use: You don't have any columns, the file's just sitting there. Assuming the file's columns are still whitespace separated after all the tr-ing and awking you did, this will do:

Code:
while read A B C D E F G
do
        ...
done < df.txt

I don't know what df's output looks like on your system, you may have more columns or less, but you get the idea.

Code:
tr -s " " < df.txt | awk '{print $3, $4, $1}' > dfcap.txt

I'm not to great with loops atm. I am wondering what
Code:
while read A B C D E F G

will do?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Separate columns into different text files

Hi I have large text file consisting of five columns. Sample of the file is give below: ed 2-4 12.0 commons that they depended on. मानवों नष्ट किया जिन पर वो आधारित थे। ed 3-1 12.0 Almost E, but would be over. रचना करीब करीब ई तक जाती है, मगर तब तो नाटक ख़त्म हो... (2 Replies)
Discussion started by: my_Perl
2 Replies

2. Shell Programming and Scripting

Comparing columns in 2 text files

Hi i have 2 files file1.txt XX,ZZ,XC,EE,RR,BB XC,CF,FG,RG,GH,GH File2.txt DF,GH,MH,FR,FG,GH,NOTOK XX,ZZ,XC,EE,RR,BB,OK result XX,ZZ,XC,EE,RR,BB OK look for column1 , XX and if it matches in File2.txt , retrieve the 7 th field from File2 and print in 3 rd file , ... (9 Replies)
Discussion started by: Shyam_84
9 Replies

3. Programming

Read columns from text files

Dear All, I have basic structure of the C++ code . It suppose to read particular columns from some txt file. The txt file look like following (snippet). I have to ask the details for instance 'id' information for rows satisfying text with red color. The issue is that the txt file has not just the... (2 Replies)
Discussion started by: emily
2 Replies

4. UNIX for Dummies Questions & Answers

Splitting up a text file into multiple files by columns

Hi, I have a space delimited text file with multiple columns 102 columns. I want to break it up into 100 files labelled 1.txt through 100.txt (n.txt). Each text file will contain the first two columns and in addition the nth column (that corresponds to n.txt). The third file will contain the... (1 Reply)
Discussion started by: evelibertine
1 Replies

5. UNIX for Dummies Questions & Answers

Merging two text files by two columns

Hi, I have two text files that I would like to merge/join. I would like to join them if the first columns of both text files match and the second column of the first text file matches the third column of the second text file. Example input: First file: 1334 10 0 0 1 5.2 1334 12 0 0 1 4.5... (4 Replies)
Discussion started by: evelibertine
4 Replies

6. UNIX for Dummies Questions & Answers

Removing columns from a text file that do not have any values in second and third columns

I have a text file that has three columns. But at the end of the text file, there are trailing lines that have missing second and third columns: 4 0.04972604 KLHL28 4 0.0497332 CSTB 4 0.04979822 AIF1 4 0.04983331 DECR2 4 0.04990344 KATNB1 4 4 4 4 How can I remove the trailing... (3 Replies)
Discussion started by: evelibertine
3 Replies

7. UNIX for Dummies Questions & Answers

Combining two text files as columns?

I have one space delimited file with multiple columns and one tab delimited file with multiple columns (They have the same number of rows). I want to basically combine these two text files into a new text file by column. How would I go about doing that? (1 Reply)
Discussion started by: evelibertine
1 Replies

8. Shell Programming and Scripting

Compare Fields from two text files using key columns

Hi All, I have two files to compare. Each has 10 columns with first 4 columns being key index together. The rest of the columns have monetary values. Using Perl, I want to read one file into hash; check for the key value availability in file 2; then compare the values in the rest of 6... (2 Replies)
Discussion started by: Sangtha
2 Replies

9. Shell Programming and Scripting

merging few columns of two text files to a new file

hi i need to select a few columns of two txt files and write it to a new file. there is one common field for both of these files. plz help me in this thanks in advance (4 Replies)
Discussion started by: kolvi
4 Replies

10. UNIX for Dummies Questions & Answers

searching text files on specific columns for duplicates

Is it possible to search through a large file full of rows and columns of text and retrieve only the rows that contain duplicates fields, searchiing for duplicates on col4 & col6 Sample below Col1 col2 col3 col4 col5 col6 G405H SURG FERGUSON ... (2 Replies)
Discussion started by: Gerry405
2 Replies
Login or Register to Ask a Question