SQL Ausgabe formatieren im Shell Script..

madirfan

Erfahrenes Mitglied
hallo leute
habe eine kleine frage..

ich hab hier eine SQL abfrage:

failedstuff=`echo "select id,requestStr from testresult where state='FAILED' and ${OR};" | mysql -u ${DBUSER} -p --password="" -h ${DBHOST} testbed_local | sed "/^id/ d" | sed "/^requestStr/ d"`

Ausgabe sql:
12341 http://www.blabla.de
12342 http://www.blabla.com
12343 http://www.blabla.eu
12344 http://www.blabla.co.uk

ich möchte dieses resultat in einer txt datei abspeichern. Der inhalt sollte so aussehen im SHELL SCIPT:
<b>12341</b>
<b>http://www.blabla.de</b><br>
<b>12342</b>
<b>http://www.blabla.com</b><br>
<b>12343</b>
<b>http://www.blabla.eu</b><br>
<b>12344</b>
<b>http://www.blabla.co.uk</b><br>

sowas wie das geht leider nicht:

for ((j=1; j <= $failedstuff; j++)) do
echo "....." >> $JUNIT_RESULT/info.txt
done


habt ihr eine idee
 
Einfach im SQL selber formatieren. Sprich, mittels CONCAT() die Teile zusammenfügen.
SQL:
SELECT 
    CONCAT('<b>', id, '</b><b>', requestStr, '</b><br />') AS formated_field
FROM ....
 
Zuletzt bearbeitet von einem Moderator:
erstma vielen dank fuer den code..es funkts klasse..
prob is nur die formatierung..

Ich wollte diesen Code implementieren:

Code:
<testcase name="Autocomplete ordered" time="1.459">
<failure type="Failing due to failed test step" message="Failing due to failed test step">
<![CDATA[<h3><b>REST Test Request Failed</b></h3><pre>NAME OF THE TEST
Status: FAILED
Time Taken: 260
Size: 4391
Timestamp: Sat Jun 29 23:07:56 CEST 2013
TestStep: REST Test Request

----------------- Messages ------------------------------

----------------- Properties ------------------------------
StatusCode: 200
Encoding: UTF-8
Method: GET
HTTP Version: HTTP/1.1
ID: id 
URL: requestStr 


---------------- Response --------------------------

</pre><hr/>]]></failure>

ID und requestStr =URL sollten da drin stehen!
 
Zuletzt bearbeitet:
Ja, und die Frage? Was kommt falsch heraus? So wie ich das sehe ist das doch genau das. Nimm halt einfach am NEdne das wieder raus was du nicht mehr haben willst.
Naja, die ' im Text musst du natürlich maskieren. Aber das versteht sich ja von selbst.
SQL:
CONCAT(' <testcase time=\'0.001\' name=\'TestCaseFAILD_', id, '\'>')
 
Zuletzt bearbeitet von einem Moderator:
danke fue dein beispiel.. siehe mein letzten topic!
da der code komplex is, dacht e ich , dass es vielleicht eine andere lösung gibt
 
Zuletzt bearbeitet:
Zurück