ls not working as expected within ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ls not working as expected within ksh
# 1  
Old 07-02-2005
ls not working as expected within ksh

Hi,
I use the command

ls a\b\c\*.txt

from the command line on HP UNIX and it works fine - It lists all files matching *.txt in the a\b\c directory

When embeded in a ksh script

`ls a\b\c\*.txt`

it does not work - I get *.txt not found (even though there are files)

I tried variations like having escape / and such but no use.

Please help. Thanks much.

GNMIKE Smilie
# 2  
Old 07-02-2005
For a start, your slashes are the wrong way round, but I'll assume that's a typo Smilie

Anyway, having

`ls /foo/bar/*.txt`

will result in a lot of "not found" errors. This is not the way to use command substitution.

my_variable=`ls /foo/bar/*.txt` will work fine.

In your script, just use
ls /foo/bar/*.txt
and it should work fine.

If you're still having problems, please post your entire script.

Cheers
ZB
# 3  
Old 07-02-2005
Hi,
Thanks for your help - Here is a part of my script...

datapath would have the valye a/b/c
datapatrn would have the value /*.txt (I tried /\*.txt also)
batchsize would have a number such as 2 for example
the result should go to a file $fileslst

`ls -F1rt "$datapath" "$datafilepatrn"|head -"$batchsize">"$fileslist"`

thanks again for your help
# 4  
Old 07-02-2005
MySQL

Quote:
Originally Posted by GNMIKE
Hi,
Thanks for your help - Here is a part of my script...

datapath would have the valye a/b/c
datapatrn would have the value /*.txt (I tried /\*.txt also)
batchsize would have a number such as 2 for example
the result should go to a file $fileslst

`ls -F1rt "$datapath" "$datafilepatrn"|head -"$batchsize">"$fileslist"`

thanks again for your help
The flaw is if you run inside the directory where a is located it will execute, but if you run script through some other direcotry then it will not be able to find the a/b/c path iteself.

Code:
use something like
datapath=$source_dir/a/b/c
datafilepatern='*.txt'

ls -F1rt $datapath/$datafilepattern | head -"$batchsize">"$fileslist"

# 5  
Old 07-02-2005
Hi,
I see your point but the problem is the same. I get *.txt not found!
# 6  
Old 07-03-2005
Change
`ls -F1rt "$datapath" "$datafilepatrn"|head -"$batchsize">"$fileslist"`
to
ls -F1rt "$datapath$datafilepatrn"|head -"$batchsize">"$fileslist"

i.e. remove the backticks, and remove the space.

Can't guarantee anything without seeing the rest of your script, but if my hunch is correct - that'll fix it.

Cheers
ZB
# 7  
Old 07-06-2005
I tried this but it still does not work...


#!/usr/bin/ksh
set -x
datapath=/home/oracle/APPS/mobilydw/na/source/gsm/
datafilepatrn="*.txt"

fileslist=/home/oracle/APPS/mobilydw/na/bin/

ls -F1rt "$datapath""$datafilepatrn"|head -10>"$fileslist"

exit
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Test -e not working as expected (by me)

I ran into the following and still do not understand entirely the rationale behind this. If someone could explain why things are as they are I'd be thankful. The following was tested on AIX 7.1 with ksh88, but i suspect that to be ubiquitous. In an installation routine i had to create a set of... (6 Replies)
Discussion started by: bakunin
6 Replies

2. Shell Programming and Scripting

Script not working as expected

Hi, I have prepared a script and trying to execute it but not getting expected output. Could you please help and advise what is going wrong. "If else" part in below script is not working basically. I am running it on HP-UX. for i in slpd puma sfmdb do echo "******\t$i\t*******" echo... (10 Replies)
Discussion started by: sv0081493
10 Replies

3. UNIX for Dummies Questions & Answers

Nohup not working as expected

Hi. I am trying to start a script on my router that will execute even if i log off. To execute the script I write: nohup ./dslconnection > dslstat.out 2>&1 & It starts the job: 21968 admin 1604 S /bin/ash ./dslconnection The problem is that when I log back in the job has been... (6 Replies)
Discussion started by: sebcou
6 Replies

4. Shell Programming and Scripting

echo is not working as expected

for i in `cat /export/home/afahmed/Arrvial_time.txt` do echo $i echo $i | awk '$3 < $D { print $4 }' >> dynamic_DF.txt; done When i echo, its echo as Nov 15 02:24 /export/home/pp_adm/inbound//wwallet_20111115.txt where i expect it to be Nov 15 02:24... (7 Replies)
Discussion started by: afahmed
7 Replies

5. UNIX for Dummies Questions & Answers

-atime not working as expected

I need to sort through a volume that contains video files by access time and delete files that have not been accessed over x days. I have to use the access time as video files are originals that do not get modified, just read Testing commands on a local test folder... $ date Wed Sep 28... (10 Replies)
Discussion started by: canon273
10 Replies

6. Shell Programming and Scripting

Why this is not working in expected way?

total=0 seq 1 5 | while read i ; do total=$(($total+$i)) echo $total done echo $totalThis outputs: 1 3 6 10 15 0whereas I am expecting: 1 3 6 10 15 15My bash version: (4 Replies)
Discussion started by: meharo
4 Replies

7. Red Hat

FTP on Linux is not working as expected

Hi, I need to write a Linux shell script which will perform an FTP operation to another server. main.sh will contain - ftp -nd Dest.IP.address < ftpScript.sh Contents of ftpScript.sh is given below - user userid passwd prompt lcd /vidya/Input cd vidya/Output mput *.* close ... (1 Reply)
Discussion started by: vidyak
1 Replies

8. OS X (Apple)

Cat command not working as expected

I've been trying to figure this out since last night, and I'm just stumped. The last time I did any shell scripting was 8 years ago on a Unix box, and it was never my strong suit. I'm on a Mac running Leopard now. Here's my dilemma - hopefully someone can point me in the right direction. I'm... (10 Replies)
Discussion started by: Daniel M. Clark
10 Replies

9. UNIX for Dummies Questions & Answers

Redirection not working as expected

Portion of my script below : if ; then NUMBEROFFEILDS=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w ${db_file_path}|awk -F: '{print NF}'` COUNT=4 while ; do awk_var="$"`echo $COUNT` file_name1=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w... (1 Reply)
Discussion started by: findprakash
1 Replies

10. Shell Programming and Scripting

which not working as expected

Hello. Consider the following magic words: # ls `which adduser` ls: /usr/sbin/adduser: No such file or directory # Hmmm... Then: # ls /usr/sbin/adduser /usr/sbin/adduser # Now what? Unforunately this little sniippet is used in my debian woody server's mysql pre install script.... (2 Replies)
Discussion started by: osee
2 Replies
Login or Register to Ask a Question