Posts Tagged ‘sh’

Modify custom workspaces in all jenkins job

Thursday, February 6th, 2014
find . -maxdepth 2 -name config.xml | while read line ; do echo $line ; sed -i.bak -e 's/<customWorkspace>\/hudson<\/customWorkspace>/<customWorkspace>\/hudson\/workspace<\/customWorkspace>/' "$line" ; done

Windows-os txt fájl soronkénti feldolgozása

Sunday, October 20th, 2013

#!/bin/sh

cat ${WORKSPACE}/build/hudson/apps.txt | tr -d “\015” | while read name
do
if [ $name == “–EOF–” ]
then
break
fi
echo “Line: ” $name
done

Sed a barátunk

Wednesday, October 16th, 2013

Hasznos sed példa, mielőtt elfelejtem 🙂

in:
99 Területen kívüli szervezet

out:
99;Területen kívüli szervezet

cat agazatok.txt | sed ‘s/^\([0-9][0-9]\) /\1;/’

Javadoc generálás statikus adatokkal

Friday, August 19th, 2011

A javadoc fontos, főleg ha publikus szolgáltatásokat készítünk. Néha viszont szükség van olyan algoritmus alapján előállított adatokra, amiket nem esik túl jól kézzel beírni…

Ilyenkor nyújthat nagy segítséget egy két shell script, amikkel az ilyen módosítások elég hatékonyan elvégezhetőek.
A scriptet nem hiszem, hogy bárki is tudja majd használni ebben a formában, de kiindulásnak (és nekem memó-nak) még jól jöhet…

A lenti dolog mit is csinál:
– kigyűjti az összes /services/ könyvtár alatti package-info.java-t
– kikalkulálja, hogy mi lesz a kiajánlott szolgáltatás neve (pl TestWebSzolgService.java – TestWebSzolg)
– csinál belőle egy javadoc szöveget, amit beszúr az összes package-info első sorába

Tadamm… Pár óra szolgai gépeléstől megint megmentett a bash.

#!/bin/sh
find . -name "package-info.java" | grep "/services/" | while read line;
do
#teljes eleres
PACKAGE_INFO_PATH=$line
#csak a konyvtar ahol a packageinfo van
CURR_DIR=${PACKAGE_INFO_PATH%/*}
#a valamiService.java fajl teljes elerese (de mar Service.java nelkul)
CURR_SERVICE_PATH=`find $CURR_DIR -name "*?Service.java" | sed 's/Service.java//'`
#csak a szolgaltatas neve
CURR_SERVICE_NAME=${CURR_SERVICE_PATH##*/}

echo $PACKAGE_INFO_PATH
echo $CURR_DIR
echo $CURR_SERVICE_NAME

FIRST_LINE="/** WSDL: https://webservice.aaa.hu/da/hs/services/${CURR_SERVICE_NAME}*/"

sed -i 1i"$FIRST_LINE" $PACKAGE_INFO_PATH
done