Need help in a small script


 
Thread Tools Search this Thread
Operating Systems AIX Need help in a small script
# 1  
Old 03-02-2010
Need help in a small script

Hello all, could somebody help..?
I have following 6 files (with white spaces in their names)
Code:
This is file
This is file1
This is file2
This is file3
This is file4
This is file5
This is file6

I tried to run the below script, and it did not give me desired ouput..

Code:
$ for i in `ls -1`
> do
> echo $i
> done

This
is
file
This
is
file1
This
is
file2
This
is
file3
This
is
file4 and so on..

Can somebody help on how to get the output as the filename itself..?

Last edited by radoulov; 03-03-2010 at 07:43 AM.. Reason: code tags, please...; radoulov: added code tags to the input
# 2  
Old 03-02-2010
A few things: first, it's recommended to use $() instead of ``, since you can nest it.
Second, whenever the contents of a variable or a command output might contain a whitespace (which is also a parameter separator) that has to be preserved, surround it with double quotes.
Third, (not applicable in this case) whenever you list files, and the number of files might in extreme cases be very high, use something else than ls, or you'll fail on an "argument list too long" error.

Considering those:
Code:
for i in "$( ls )"
do
    echo "$i"
done

# 3  
Old 03-02-2010
MySQL

Quote:
Originally Posted by pludi
A few things: first, it's recommended to use $() instead of ``, since you can nest it.
Second, whenever the contents of a variable or a command output might contain a whitespace (which is also a parameter separator) that has to be preserved, surround it with double quotes.
Third, (not applicable in this case) whenever you list files, and the number of files might in extreme cases be very high, use something else than ls, or you'll fail on an "argument list too long" error.

Considering those:
Code:
for i in "$( ls )"
do
    echo "$i"
done

Pludi is right .

edit by bakunin: ahem... which added insight is your post supposed to transport? If you don't have anything substantial to say please don't say it here.

Last edited by bakunin; 03-03-2010 at 12:00 AM..
# 4  
Old 03-03-2010
Thank you very much for the quick help.. that works..
# 5  
Old 03-03-2010
Code:
while read line
do
        echo $line
done < `ls -l`

try the above script also
# 6  
Old 03-03-2010
Quote:
Originally Posted by thillai_selvan
Code:
while read line
do
        echo $line
done < `ls -l`

try the above script also
The requester said, there are white space in the file names.
So this will not give the desired output.
# 7  
Old 03-03-2010
Quote:
Originally Posted by malcomex999
Quote:
Originally Posted by thillai_selvan
Code:
while read line
do
        echo $line
done < `ls -l`

try the above script also
The requester said, there are white space in the file names.
So this will not give the desired output.
Aside from that it will make the issue even worse as it's a long listing, including the owner, group, permissions, ... , cluttering to output even more.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help to understand this small script

Hi Guys, I need to understand below scipt:- -bash-3.00$ cat rsync-copy.ksh #!/usr/5bin/ksh batch <<%EOF% echo "/usr/local/bin/rsync --rsync-path=/usr/local/bin/rsync -a --stats /usr/openv/ /OpenvBCK" > openv.LOG # CG /usr/local/bin/rsync ... (6 Replies)
Discussion started by: manalisharmabe
6 Replies

2. UNIX for Dummies Questions & Answers

need help with small script

Hi I have the below file Name=abc Yr=2011 Mon=05 My script should be in such a way that whenever I run it then Month should increment by 1 and if the month is 12 then when I run the script then year should incremented by 1 and month Should become 01(I.e jan) Thanks for the help in... (6 Replies)
Discussion started by: kishu
6 Replies

3. Shell Programming and Scripting

small script correction

input cz1 87942437 87952030 M_001144992 0 + 87942537 87949664 0 3 710,114,2506, 0,2725,7087, script awk '{ n11 = split($11, t11, ",") n12 = split($12, t12, ",") for (i = 0; ++i < n11;) { s12 = $2 + t12 print $4"_xon"i, "\t",$4"_xon"i,"\t", $1,... (1 Reply)
Discussion started by: quincyjones
1 Replies

4. Shell Programming and Scripting

need a small script

Hello all, i have a batmail process running on my machine(java process). i just need a script we should detect whether the batchnail is running or not.If not it should restart it. Can anyone assist me on this? (1 Reply)
Discussion started by: Rayzone
1 Replies

5. Shell Programming and Scripting

Small Search script

I need to write a small shell script which does the following : I have a file : root/var/log/ocmp/ocmpclient.log This is a log file which is continuosly getting updated . I have to keep looking into this file all the time. I have to look for four keywords, "File Detected", File Sending",... (2 Replies)
Discussion started by: appu1987
2 Replies

6. Shell Programming and Scripting

small script help

#!/bin/ksh for i in *.log* do ls $i|sed 's/\.log$//g' | while read file do echo "file $file is Running" >> lls.txt echo "***************">> lls.txt done done ------------------------------------------------------------------ the output is : file AdapterCCProvisioningInterface... (9 Replies)
Discussion started by: ali560045
9 Replies

7. Shell Programming and Scripting

Very small Shell Script Help...

The following Script takes each extension and determine what category it belongs and then moves it into a directory based on the extension. (for eg. 1.sh, 5.sh, 9.sh together; 4.csh, 120.csh, 6.csh together and 7.ksh, 2.ksh, 59.ksh together) and moves them to their respective directories viz.... (2 Replies)
Discussion started by: marconi
2 Replies

8. Shell Programming and Scripting

small script

Hi, I am new to unix shell scripting. I just want a little script to check the no. of processes are equal to 8, then echo a successful message otherwise echo a unsuccessful message. Please help. Thanks. (3 Replies)
Discussion started by: everurs789
3 Replies

9. Shell Programming and Scripting

small script help

here is a small script: if ; then echo please enter an argument fi if [ "$1" = "tom"; then a=$1 echo $a fi here is my question. if the script name is j.sh and I run it : j.sh from shell prompt: without a parameter: it prints please enter an argument but if I go with . j.sh (current... (1 Reply)
Discussion started by: rkl1
1 Replies

10. Shell Programming and Scripting

Need help in a small script

Hi all, I have a file of the following format - EXPRPT:SCN:1.1706E+10:SEQ_START:121652:SEQ_END:121664:0 ( This file name is variable and changes daily) Now in the same directory I have another set of files of the format - EXPRPT.log.0001.0000121669 Now what I am trying to do is to ... (2 Replies)
Discussion started by: super_duper_guy
2 Replies
Login or Register to Ask a Question