#!/bin/bash
#This is a while looping in the /script/pendiente.txt where there was a list of #filepath, inside has TIF images in all the script will build the sh script who #convert with imagemagick al the tif in the source folder to a jpg with name #changed
#while for the list of folder`s with tif files
while IFS= read -r line
do
#if the path is /media/bk2tb1/Externo/Prod179/TA_4059 i save the last folder
#in two variables one to make the new filename
lala=$(echo $line | cut -d "/" -f 5)
caja=$(echo $line | cut -d "/" -f 5)
caja+="_TA_"
cd $line
#because al images start with ta i will adding convert in all lines because
#this is the imagemagick command to convert images
ls $line | sed 's/ta_/convert ta_/g' > /home/procesadorm.txt
#i count how much of files have the folder
cant=$(wc -l < /home/procesadorm.txt)
#because i will make a txt with the folder with the same cant of files in the
#next for i delete first
rm /home/procesadorr.txt
#this for will make me a txt with $cant lines in all lines file path, i using this
#because the i need add something in the paste between the source and #destination to change the destination folder
for ((i=0;i<$cant;i++)); do echo $line >> /home/procesadorr.txt; done
#this will replace the filepath becuse in the source have subfolders dont #needed in the destination
cat /home/procesadorr.txt |
sed -e 's/\/media\/bkt2b1/\/convertidor\//g' |
sed -e 's/\/Prod100\//\//g' |
sed -e 's/\/Prod101\//\//g' |
sed -e 's/\/Prod102\//\//g' |
sed -e 's/\/Prod103\//\//g' |
sed -e 's/\/Prod104\//\//g' |
sed -e 's/\/Prod105\//\//g' |
sed -e 's/\/Prod170\//\//g' |
sed -e 's/\/Prod171\//\//g' |
sed -e 's/\/Prod172\//\//g' |
sed -e 's/\/Prod173\//\//g' |
sed -e 's/\/Prod174\//\//g' |
sed -e 's/\/Prod175\//\//g' |
sed -e 's/\/Prod176\//\//g' |
sed -e 's/\/Prod177\//\//g' |
sed -e 's/\/Prod178\//\//g' |
sed -e 's/\/Prod179\//\//g' |
sed -e 's/\/media\/Externo/\/home\/prueba/g' > /home/procesadorrr.txt
#this make a destination folder replacing the same subfolder dont needed in #the output
mkdir $(echo $line | sed -e 's/\/Prod100\//\//g' | sed -e 's/\/Prod101\//\//g' | sed -e 's/\/Prod102\//\//g' | sed -e 's/\/Prod103\//\//g' | sed -e 's/\/Prod104\//\//g' | sed -e 's/\/Prod105\//\//g' | sed -e 's/\/Prod170\//\//g' | sed -e 's/\/Prod171\//\//g' | sed -e 's/\/Prod172\//\//g' | sed -e 's/\/Prod173\//\//g' | sed -e 's/\/Prod174\//\//g' | sed -e 's/\/Prod175\//\//g' | sed -e 's/\/Prod176\//\//g' | sed -e 's/\/Prod177\//\//g' | sed -e 's/\/Prod178\//\//g' | sed -e 's/\/Prod179\//\//g' | sed -e 's/\/media\/Externo/\/home\/prueba/g')
#this will make the output image name
ls $line | sed -e 's#ta_#/AR_AGN_DF_TA_#g' | sed -e 's/_DF_TA_/_DF_'"$caja"'/' | sed -e 's/_001.tif/_A.jpg/g' | sed -e 's/_002.tif/_R.jpg/g' > /home/procesadors.txt
#this will make a join between the (convert +imput #name)/home/procesadorm.txt+(destination path) /home/procesadorrr.txt+ #(destination filename) /home/procesadors.txt
paste -d "" /home/procesadorm.txt /home/procesadorrr.txt /home/procesadors.txt | sed -e 's/\/home/ \/home/g' > /home/procesador.sh
# this will call the script maked
sh /home/procesador.sh
#this will return to first line if not end of file (/script/pendiente.txt)
done < "/script/pendiente.txt"
Thx to all to help me in this
sorry about my english i really speak spanish
Hi guys
I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file.
#!/bin/sh
echo " $2 $3 $4 $5 $6 $7
isql -w400 -U$2 -S$5 -P$3 << xxx
use $4
go
print"**Changes to the table... (0 Replies)
I am using blow script :--
#!/bin/bash
FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not
if
then
# echo "process found"
exit 0;
else
echo "process not found"
exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below.
#masterscript.sh
./callingscript.sh
echo $fileExist
#callingscript.sh
echo "The script is called"... (2 Replies)
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)
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)
Discussion started by: siegfried
3 Replies
LEARN ABOUT OPENDARWIN
while
while(n) Tcl Built-In Commands while(n)
__________________________________________________________________________________________________________________________________________________NAME
while - Execute script repeatedly as long as a condition is met
SYNOPSIS
while test body
_________________________________________________________________DESCRIPTION
The while command evaluates test as an expression (in the same way that expr evaluates its argument). The value of the expression must a
proper boolean value; if it is a true value then body is executed by passing it to the Tcl interpreter. Once body has been executed then
test is evaluated again, and the process repeats until eventually test evaluates to a false boolean value. Continue commands may be exe-
cuted inside body to terminate the current iteration of the loop, and break commands may be executed inside body to cause immediate termi-
nation of the while command. The while command always returns an empty string.
Note: test should almost always be enclosed in braces. If not, variable substitutions will be made before the while command starts execut-
ing, which means that variable changes made by the loop body will not be considered in the expression. This is likely to result in an
infinite loop. If test is enclosed in braces, variable substitutions are delayed until the expression is evaluated (before each loop iter-
ation), so changes in the variables will be visible. For an example, try the following script with and without the braces around $x<10:
set x 0
while {$x<10} {
puts "x is $x"
incr x
}
SEE ALSO
break(n), continue(n), for(n), foreach(n)
KEYWORDS
boolean value, loop, test, while
Tcl while(n)