Hello,
I have a file named file_1.sh that I want to duplicate into file_2.sh, file_3.sh,..., etc.
I also need to change the text within each file so that it would fit the file name. For example, in file_1.sh there is a command to save some output as 'output_1.txt', and also there is an input range of 1-100. Therefore, file_2.sh should have 'output_2.txt' and a range of 2-101.
Please help.
Thanks a lot.
I doubt you need 100 different scripts. You can probably use the same one over and over by modifying it slightly.
something.sh:
#!/bin/sh
echo "Range of $1 to $2"
The loop:
for X in `seq 1 100`
do
./something.sh $X 101 > file_${X}.txt
done
I think I actually do need to have multiple scripts. Perhaps I didn't explain myself well enough - the input range is actually a batch of image files named image_1.tif, image_2.tif,...,etc. Each script is used to call for some program that analyzes these images, and each time I want to analyze 100 images with a sliding window of 1 (i.e., images 1-100, 2-101,...).
I am using: $(ls image_* | sed -n 1,100p) to select the images, and I want the output of these program to be saved according to the name of the first image in each set (for instance, images 1-100 should produce an output named output1.txt).
Thanks.
And that needs 100 shell scripts why?
Another problem, though -- your images aren't going to sort right. You should have them named image_0001, not image_1, and so forth.
#!/bin/bash
WINDOW=5
set -- image_*
BATCH=1
while [ "$#" -gt 0 ]
do
LISTFILES=""
N=1
while [ $N -le $WINDOW ]
do
LISTFILES="$LISTFILES ${1}"
shift
let N=N+1
done
echo "Batch $BATCH is $LISTFILES"
let BATCH=BATCH+1
set -- $LISTFILES "$@"
shift
done
$ ./listfiles.sh
Batch 1 is image_0001.tif image_0002.tif image_0003.tif image_0004.tif image_0005.tif
Batch 2 is image_0002.tif image_0003.tif image_0004.tif image_0005.tif image_0006.tif
Batch 3 is image_0003.tif image_0004.tif image_0005.tif image_0006.tif image_0007.tif
Batch 4 is image_0004.tif image_0005.tif image_0006.tif image_0007.tif image_0008.tif
Batch 5 is image_0005.tif image_0006.tif image_0007.tif image_0008.tif image_0009.tif
Batch 6 is image_0006.tif image_0007.tif image_0008.tif image_0009.tif image_0010.tif
Batch 7 is image_0007.tif image_0008.tif image_0009.tif image_0010.tif image_0011.tif
Batch 8 is image_0008.tif image_0009.tif image_0010.tif image_0011.tif image_0012.tif
Batch 9 is image_0009.tif image_0010.tif image_0011.tif image_0012.tif image_0013.tif
Batch 10 is image_0010.tif image_0011.tif image_0012.tif image_0013.tif image_0014.tif
Batch 11 is image_0011.tif image_0012.tif image_0013.tif image_0014.tif image_0015.tif
Batch 12 is image_0012.tif image_0013.tif image_0014.tif image_0015.tif image_0016.tif
Batch 13 is image_0013.tif image_0014.tif image_0015.tif image_0016.tif image_0017.tif
Batch 14 is image_0014.tif image_0015.tif image_0016.tif image_0017.tif image_0018.tif
Batch 15 is image_0015.tif image_0016.tif image_0017.tif image_0018.tif image_0019.tif
Batch 16 is image_0016.tif image_0017.tif image_0018.tif image_0019.tif image_0020.tif
Batch 17 is image_0017.tif image_0018.tif image_0019.tif image_0020.tif image_0021.tif
Batch 18 is image_0018.tif image_0019.tif image_0020.tif image_0021.tif image_0022.tif
Batch 19 is image_0019.tif image_0020.tif image_0021.tif image_0022.tif image_0023.tif
Batch 20 is image_0020.tif image_0021.tif image_0022.tif image_0023.tif image_0024.tif
Batch 21 is image_0021.tif image_0022.tif image_0023.tif image_0024.tif image_0025.tif
Batch 22 is image_0022.tif image_0023.tif image_0024.tif image_0025.tif image_0026.tif
Batch 23 is image_0023.tif image_0024.tif image_0025.tif image_0026.tif image_0027.tif
Batch 24 is image_0024.tif image_0025.tif image_0026.tif image_0027.tif image_0028.tif
Batch 25 is image_0025.tif image_0026.tif image_0027.tif image_0028.tif image_0029.tif
Batch 26 is image_0026.tif image_0027.tif image_0028.tif image_0029.tif image_0030.tif
Batch 27 is image_0027.tif image_0028.tif image_0029.tif image_0030.tif image_0031.tif
Batch 28 is image_0028.tif image_0029.tif image_0030.tif image_0031.tif image_0032.tif
Batch 29 is image_0029.tif image_0030.tif image_0031.tif image_0032.tif image_0033.tif
Batch 30 is image_0030.tif image_0031.tif image_0032.tif image_0033.tif image_0034.tif
Batch 31 is image_0031.tif image_0032.tif image_0033.tif image_0034.tif image_0035.tif
Batch 32 is image_0032.tif image_0033.tif image_0034.tif image_0035.tif image_0036.tif
Batch 33 is image_0033.tif image_0034.tif image_0035.tif image_0036.tif image_0037.tif
Batch 34 is image_0034.tif image_0035.tif image_0036.tif image_0037.tif image_0038.tif
Batch 35 is image_0035.tif image_0036.tif image_0037.tif image_0038.tif image_0039.tif
Batch 36 is image_0036.tif image_0037.tif image_0038.tif image_0039.tif image_0040.tif
Batch 37 is image_0037.tif image_0038.tif image_0039.tif image_0040.tif image_0041.tif
Batch 38 is image_0038.tif image_0039.tif image_0040.tif image_0041.tif image_0042.tif
Batch 39 is image_0039.tif image_0040.tif image_0041.tif image_0042.tif image_0043.tif
Batch 40 is image_0040.tif image_0041.tif image_0042.tif image_0043.tif image_0044.tif
Batch 41 is image_0041.tif image_0042.tif image_0043.tif image_0044.tif image_0045.tif
Batch 42 is image_0042.tif image_0043.tif image_0044.tif image_0045.tif image_0046.tif
Batch 43 is image_0043.tif image_0044.tif image_0045.tif image_0046.tif image_0047.tif
Batch 44 is image_0044.tif image_0045.tif image_0046.tif image_0047.tif image_0048.tif
Batch 45 is image_0045.tif image_0046.tif image_0047.tif image_0048.tif image_0049.tif
Batch 46 is image_0046.tif image_0047.tif image_0048.tif image_0049.tif image_0050.tif
Batch 47 is image_0047.tif image_0048.tif image_0049.tif image_0050.tif
Batch 48 is image_0048.tif image_0049.tif image_0050.tif
Batch 49 is image_0049.tif image_0050.tif
Batch 50 is image_0050.tif
$