Visit Our UNIX and Linux User Community


Help to write bash script code


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help to write bash script code
# 1  
Old 06-06-2011
Help to write bash script code

I am newbie to UNIX. I came across this exercise in one the books.Can anyone help me with this question??????

Write a short Bash script that, given the name of a file as an argument,
reads the file name and creates a new file containing only lines which consist
of one word. Here is an example
This is a special text file
There
are 20 students in the class.
[TAB][SPACE] Nearly
half of them are enrolled in FoS. The rest are in
Faculty-Of-ES.
The output from the script should look like
There
[TAB][SPACE] Nearly
Faculty-Of-ES.

Your help is much appreciated.
# 2  
Old 06-06-2011
hmmm.. assignment Smilie

so far, what you tried ??
# 3  
Old 06-06-2011
When you call your script with a filename -or something else- as an argument, you retrieve the first argument with "$1", the second with "$2", ...
Code:
#!/bin/bash

echo "$1"

exit 0

This simple script above will give:
Code:
~$ ./this-simple-script "/path/to/file"
/path/to/file
~$

To read the file in '$1", you can simply cat "$1" but for the next requirement, write something with a loop that says:
Code:
#!/bin/bash

while read the_line; do
	echo "$the_line"
done < "$1"

exit 0

From the example you wrote, you need to read every other line
Code:
#!/bin/bash

while read the_line; do
	((i++%2)) && { echo "$the_line";}
done < "$1"

exit 0

i is a variable that's incremented (i++) on every line read.
i%2 returns 1 or 0, depending i is odd or even, basically, it returns 0 when i is 2; 4; 6; ...
And in sh/bash and many others scripting languages; zero means no errors.
No Errors: execute what's after the &&, so echo "$the_line"

Long talk, heh? Smilie

Last edited by tukuyomi; 06-06-2011 at 08:05 AM..
# 4  
Old 06-06-2011
try this
Code:
 
#!/us/bin/ksh
IFS='
'
for line in `cat filename`; do
        if [[ $(echo $line | wc -w) -eq 1 ]]; then
                echo $line
        fi
done

# 5  
Old 06-06-2011
Thanks a lot to everyone!!!!!!!!!!!!
I will try the code and let you know...
Thanks again.

---------- Post updated at 05:19 AM ---------- Previous update was at 05:18 AM ----------

Hi Mr.itkamaraj,
This is not an assignment question. I am not studying at the moment. I am working as Support Engineer and learning bash scripting. I came across this question in some book and did not know the answer.

Last edited by krthknaidu; 06-06-2011 at 08:25 AM..

Previous Thread | Next Thread
Test Your Knowledge in Computers #178
Difficulty: Medium
The Apple Computer Company was founded on April 1, 1978.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to write a value to a physical memory address in bash script?

How would I write a value to a physical memory address? I was able to read a physical memory address (for example, 0x400) using this line: dd if=/dev/mem count=4 bs=1 skip=$(( 0x400 )) But I get an error: dd: 'standard input': cannot skip to specified offset when I try to write using... (1 Reply)
Discussion started by: rabrandt
1 Replies

2. UNIX for Beginners Questions & Answers

How To Write my Bash Script To Automate it?

Hello guys, I need some help. I am new in bash and I don't know how to automate the following script. head -2 out1 > 1.fasta sed 1,2 d' out1 > out2 rm out1 head -2 out2 > 2.fasta sed 1,2 d' out2 > out1 rm out2 head -2 out2 > 3.fasta sed '1,2 d' out2 > out1 rm out2 .......... (3 Replies)
Discussion started by: dellia222
3 Replies

3. UNIX for Dummies Questions & Answers

Script to break up file (write new files) in bash

Hello experts, I need help writing individual files from a data matrix, with each new file being written every time there is a blank line: From this cat file.txt col1 col2 col3 6661 7771 8881 6661 7771 8881 6661 7771 8881 col1 col2 col3 3451 2221 1221... (6 Replies)
Discussion started by: torchij
6 Replies

4. Shell Programming and Scripting

How to write bash script for lvm snapshot?

Hi Team I am trying to put together a nice small script to mount my lvm snapshot Here are my objectives 1 Check whether snapshot is currently mounted. If so echo umount snapshot and exit from the script. 2 If it's not mounting, check whether the mount point exist, If so, create lvm... (0 Replies)
Discussion started by: fugeulu
0 Replies

5. Shell Programming and Scripting

How to write bash shell script for mentioned requirement?

Hi All, I am unable to write the script for the below requirement. Requirement: Main table dir_ancillary table contain three column "dir_ancillary.table_name"," dir_ancillary.text_file_name ", "dir_ancillary.Include" . This dir_ancillary contain undefined tables in the column... (2 Replies)
Discussion started by: Vineeta Nigam
2 Replies

6. Shell Programming and Scripting

how to write bash script that will automatically extract zip file

i'm trying to write a bash script that that will automatically extract zip files after the download. i writed this script #!/bin/bash wget -c https://github.com/RonGokhle/kernel-downloader/zipball/master CURRENDIR=/home/kernel-downloader cd $CURRENDIR rm $CURRENDIR/zipfiles 2>/dev/null ... (2 Replies)
Discussion started by: ron gokhle
2 Replies

7. Shell Programming and Scripting

Bash script reg-exp , replace , open and write

Hi All I am a new in scripting language and I would like help for you guys I would like to create a file named constant.h and search into all files *.m in specific directory for a reg-exp @"LBL_]+" exp: @"LBL_75847" , and write those matchs to constant.h if there are not written (no... (15 Replies)
Discussion started by: molwiko
15 Replies

8. Homework & Coursework Questions

How to write script in bash.

I am very new to Linux/Unix. Kindly assist the following: I wish to write a bash shell script called how_many_to_go that calculates and prints the number of days, hours, minutes and/or seconds until the end of the current month (based on the output of the date command). Do ... (2 Replies)
Discussion started by: alobi
2 Replies

9. Shell Programming and Scripting

Bash Script to Read & Write on different directories

Hi, root@server] df -h 121G 14G 101G 12% /home 147G 126G 14G 91% /backup We having our site files and images are storing in /backup/home/user/files/ through symbolic link created in /home directory pointing in /backup directory as following. root@server] cd /home... (1 Reply)
Discussion started by: mirfan
1 Replies

10. Shell Programming and Scripting

Can anybody write this bash script ?

hi, first congratulations on the nice forum! Can anybody write script, which can make copy of some or all files of the current directory in new directory (called "backups", which must be made in the current directory, if it's not already exist). And bring out a massage (report) with the count... (7 Replies)
Discussion started by: Cecko
7 Replies

Featured Tech Videos