Problem scripting a copy and renaming shell executable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem scripting a copy and renaming shell executable
# 22  
Old 01-19-2015
i ran this code exactly

Code:
#!/bin/bash
SOURCES="$HOME/Desktop/sourcepictures"
TARGET="$HOME/Desktop/orderedpictures"
LIST="$HOME/Desktop/sourcepictures/list.txt"
index="0000000" 

for image in $(cat $LIST) ; do 
    ln -s $SOURCES/$image  $TARGET/$index.jpeg
    index=$(printf %06d $(( $index + 1 )) )
done


and it worked up to a point, 8 pictures successfully in order in the orderedpictures folder
and then it said this, the files listed in list.txt is longer then 8 pictures, it is going to be any text i want

the text inside list.txt looks exactly like this

Code:
i.jpeg
n.jpeg
spacebar.jpeg
t.jpeg
h.jpeg
e.jpeg
spacebar.jpeg
b.jpeg
e.jpeg
g.jpeg
i.jpeg
n.jpeg
n.jpeg
i.jpeg
n.jpeg
g.jpeg
spacebar.jpeg
g.jpeg
o.jpeg
d.jpeg
spacebar.jpeg
c.jpeg
r.jpeg
e.jpeg
a.jpeg
t.jpeg
e.jpeg
d.jpeg
spacebar.jpeg
t.jpeg
h.jpeg
e.jpeg

this text in list.txt is just a test text for the timelapse, when the script works in full then i will add much longer text the way it is in list.txt

when i ran the code above is did 8 pictures in order and then stopped

Code:
Last login: Mon Jan 19 16:11:55 on ttys000
timothys-mbp:~ timothynorris$ /Users/timothynorris/Desktop/test.command ; exit;
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
ln: /Users/timothynorris/Desktop/orderedpictures/.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000001.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000002.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000003.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000004.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000005.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000006.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000007.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000008.jpeg: File exists
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
ln: /Users/timothynorris/Desktop/orderedpictures/.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000001.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000002.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000003.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000004.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000005.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000006.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000007.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000008.jpeg: File exists
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
ln: /Users/timothynorris/Desktop/orderedpictures/.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000001.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000002.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000003.jpeg: File exists
ln: /Users/timothynorris/Desktop/orderedpictures/000004.jpeg: File exists
logout

[Process completed]


and when I add the f to -s

Code:
#!/bin/bash
SOURCES="$HOME/Desktop/sourcepictures"
TARGET="$HOME/Desktop/orderedpictures"
LIST="$HOME/Desktop/sourcepictures/list.txt"
index="0000000" 

for image in $(cat $LIST) ; do 
    ln -sf $SOURCES/$image  $TARGET/$index.jpeg
    index=$(printf %06d $(( $index + 1 )) )
done

it doesnt copy them in order to the orderedpictures folder and it still stops at 8 pictures



Code:
Last login: Mon Jan 19 16:13:20 on ttys000
timothys-mbp:~ timothynorris$ /Users/timothynorris/Desktop/test.command ; exit;
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
/Users/timothynorris/Desktop/test.command: line 9: 000008: value too great for base (error token is "000008")
logout

[Process completed]

the code i used is the same thing that you guys provided

Last edited by ilovedoritos; 01-19-2015 at 06:32 PM..
# 23  
Old 01-19-2015
Sorry, i miscounted the lines...

OK then lets redo the index recalculation.

Lets start with:
Code:
index=0
holder=0000000

Then in the loop:
Code:
link=${holder:${#index}}$index
ln -sf $SOURCES/$image  $TARGET/$link.jpeg
index=$(( $index + 1 ))

hth

NOTE:
Setting the variable link is not required, one could place the code directly on the ln line, but imho this way it is easier to read.

Last edited by sea; 01-19-2015 at 06:46 PM..
This User Gave Thanks to sea For This Post:
# 24  
Old 01-19-2015
YAYYYY

i ran this and it ran.............................PERFECTSmilie Smilie Smilie


Code:
#!/bin/bash
SOURCES="$HOME/Desktop/sourcepictures"
TARGET="$HOME/Desktop/orderedpictures"
LIST="$HOME/Desktop/sourcepictures/list.txt"
index="0"
holder=0000000

for image in $(cat $LIST) ; do 

link=${holder:${#index}}$index
ln -sf $SOURCES/$image  $TARGET/$link.jpeg
index=$(( $index + 1 ))
done




there were only 32 files listed in list.txt and it did what it was supposed to with all of them and in order, now to test it on a list.txt that has 1000
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell scripting problem

Hello. I hava homework for university but i cant do it and i need a little help if someone can help me :) I have to do a linux shell script. Write a script that does the following: 1. Check if there is a directory in / home with myDir name. If not, it creates it. 2. In the directory it... (1 Reply)
Discussion started by: alex4o0o
1 Replies

2. Emergency UNIX and Linux Support

Need support for a shell scripting problem

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. Shell Programming and Scripting

ksh shell scripting to copy a file

Hi. I am a new Unix admin and I've been tasked to write a ksh script that copies my .profile into my /home directory on all servers. I'm new to this and having a difficult time scripting it. Any ideas? (6 Replies)
Discussion started by: david_tech
6 Replies

4. Shell Programming and Scripting

Shell Scripting: Copy Files with Today's date

I was wondering the best way about finding files that were created today and copy them to a directory (grep ?). There can be multiple files for todays date or none. I am looking to copy all of the .lis files for todays date. I may need to modify the filename to include todays date but for the... (4 Replies)
Discussion started by: smkremer
4 Replies

5. Homework & Coursework Questions

Shell Scripting Problem...

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! Hello all,,, I am trying to finish my assignment for my CNET class. I am running into 2 problems... First the "Delete a file" (Option 1) When I run this option everything... (5 Replies)
Discussion started by: ozman911
5 Replies

6. Shell Programming and Scripting

Problem in loops in shell scripting

Hi, #!/bin/ksh $v="" for ((i = 1 ; i <= 5 ; i++ )) do v="THerrFile_$i.err"; grep -i "$i:Error" $v >>oraerror_output.txt done My requirement is to dynamically create variable like THerrFile_1.err,THerrFile_2.err etc. where my grep needs... (5 Replies)
Discussion started by: sudhir_83k
5 Replies

7. Shell Programming and Scripting

Shell Scripting problem

Hi guys, I am a newbie to shell scripting.Please help me to accomplish this task. Its very urgent,I should create a script which will do the following: i) "cd ~joseph/ ; mkdir -p Bing/Bong ;mkdir -p Bing/Bang" and then create 15 ".txt" files with content "Bing Bang Bong" in "Bong"... (1 Reply)
Discussion started by: mahesh_raghu
1 Replies

8. Shell Programming and Scripting

Shell scripting and ls -1 problem

Hey, I'm running knoppix and I'm trying to run a shell script to change multiple lines of text in multiple files #!/bin/sh for i in 'ls-1 test' do sed 's/bob/manny/'g $i > $i.0 mv $i.0 $i done Obviously this isn't the original file, but it's on another non-networked machine. What... (7 Replies)
Discussion started by: afroCluster
7 Replies

9. Shell Programming and Scripting

shell scripting problem

her i am trying to edit a database file which is actually a small file holding my friend's name and birthdays My Database DEEPAK 27/08 DEEPIKA 18/02 DHYAN 23/03 DIPANKAR 24/10 SNIGDHO 19/05 AYANNAR 17/12 BHAI 22/09 DEBAN 16/08 JAGADISH 02/06 SUBHOJIT 23/02 TOJO 17/09 SUDHIR 12/09... (1 Reply)
Discussion started by: mobydick
1 Replies

10. Programming

Renaming an executable file

HI How to rename an executable file in unix (3 Replies)
Discussion started by: bankpro
3 Replies
Login or Register to Ask a Question