Today (Saturday) We will make some minor tuning adjustments to MySQL.

You may experience 2 up to 10 seconds "glitch time" when we restart MySQL. We expect to make these adjustments around 1AM Eastern Daylight Saving Time (EDT) US.

"Split large xml into mutiple files and with header and footer in file"

Post #303030444 by Don Cragun on Sunday 10th of February 2019 09:20:32 PM

Hi karthik,
As usual, I seem to be lost again trying to understand what you are trying to do.
Quote:
Originally Posted by karthik
Hi Corona,

I have tried the below where as i can find job_id value when trying to replace the job_id values with comma seperator that new_var is blank kindly assist

Code:
JobId =$(cat Response.xml | awk -F"Job_Id>" '{print $2}' | awk -F"<" '{print $1}')
echo $JobId

JOB_ID output here is :12345
23415
With a <space> between the first word of the above command and the <equals-sign>, command runs a utility named JobId with one or more arguments (depending on the output from the two awk commands in your script) where the first argument's first character is the <equals-sign>. The echo command after that line will print an empty line unless JobId had been assigned a value somewhere else.

Furthermore, JOB_ID and JobId are not even close to being the same thing AND with no CODE tags I have no idea what value you are saying the output of that awk command was. And, since you haven't shown us any sample file named Response.xml we have no way of recreating the input you are feeding into that script to try it out ourselves.

Quote:
Originally Posted by karthik
Code:
NEW_VAR=$(echo $JobId | sed -e "s/^/'/" | sed -e "s/$/'/" | tr '\n' ',')

Output:12345,23415 is the expected output for the NEW_VAR
The echo of an unquoted variable expansion is only going to produce a single <newline> character at the end of the single line of output it produces; so you can't possibly want tr to change that <newline> character into a <comma>? And, you're invoking sed two more times to enclose your results in <single-quote>s, but you don't show any <single-quote>s in the expected output you say you want to store into the shell variable NEW_VAR. So, again, I'm very confused about how this code might be expected to produce the output you want.

Unless you want to run a loop processing the individual job IDs produce by the first awk script above, why not just have it print the results you want in the format in which you want them to be printed instead of producing output you don't want following by invoking four more utilities to reformat the output?

Making the wild assumption that the awk script you showed us produced two output lines with each containing a single Job ID and that you want to set NEW_VAR to a string containing just those two Job IDs separated by a <comma>, we should be able to produce aMUCH more efficient single awk command to produce the output you want to store into the variable NEW_VAR. But, of course, with no sample input to work with, I can't determine whether the script above that calls awk twice is expecting to find two Job IDs on a single line input file or is expecting to find one Job ID on each of two input lines. Therefore, I can't suggest an awk command that might work for you. Either way there is no need for two awk commands, two sed command, atr command, and two command substitutions.
This User Gave Thanks to Don Cragun For This Post:
 
Related Linux and UNIX Technical Support
Split large file and add header and footer to each file
ashish4422
I have one large file, after every 200 line i have to split the file and the add header and footer to each small file? It is possible to add different header and footer to each file?... Shell Programming and Scripting
1
Shell Programming and Scripting
Split large file and add header and footer to each small files
ashish4422
I have one large file, after every 200 line i have to split the file and the add header and footer to each small file? It is possible to add different header and footer to each file?... Shell Programming and Scripting
7
Shell Programming and Scripting
Add header and footer with record count in footer
itsranjan
This is my file(Target.txt) name|age|locaction abc|23|del xyz|24|mum jkl|25|kol The file should be like this 1|03252012 1|name|age|location 2|abc|23|del 2|xyz|24|mum 2|jkl|25|kol 2|kkk|26|hyd 3|4 Column 1 is row indicator for row 1 and 2, column indicator is 1,for data rows...... Shell Programming and Scripting
1
Shell Programming and Scripting
Removing header or footer from file
sridhardwh
Hi Every one, what is the coomand to remove header or footer from a file. Please help me by providing command/syntax to remove header/footer from unix. Thanks in advance for all your support.... Shell Programming and Scripting
5
Shell Programming and Scripting
Is there a way to append both at header and footer of a file
jediwannabe
currently I've a file Insert into CD_CARD_TYPE (CODE, DESCRIPTION, LAST_UPDATE_BY, LAST_UPDATE_DATE) Values ('024', '024', 2, sysdate); Insert into CD_CARD_TYPE (CODE, DESCRIPTION, LAST_UPDATE_BY, LAST_UPDATE_DATE) Values ('032', '032', 2, sysdate); ........ is it...... Shell Programming and Scripting
3
Shell Programming and Scripting
INTLTOOL-MERGE(8)					      System Manager's Manual						 INTLTOOL-MERGE(8)

NAME
intltool-merge - merge translated strings into various file types such as XML
SYNOPSIS
intltool-merge [ -v|--version ] [ -h|--help ] [ -q|--quiet ] [ -d|--desktop-style ] [ -k|--keys-style ] [ -o|--oaf-style ] [ -x|--xml-style ] [ -u|--utf8 ] [ -p|--pass-through ] PO_DIRECTORY FILENAME OUTPUT_FILE
DESCRIPTION
Merge translated strings in po files in PO_DIRECTORY with the original application file FILENAME, and output the file OUTPUT_FILE contain- ing both the original and the localized strings. Afterwards the application xml file will contain repeated xml-nodes where each one contains one of all translations and a xml:lang attribute.
OPTIONS
-v, --version Show version information. -h, --help Show usage and basic help information. -q, --quiet Be quiet while running. -d, --desktop-style Merge files in desktop style, which is similar to the Windows .ini file format. -k, --keys-style Merge files in the keys style, which is used for metadata. -x, --oaf-style Merge files in the oaf style. -x, --xml-style Merge files in the XML style, both as attributes and as raw pcdata. -u, --utf8 Convert all strings to UTF-8 before merging. -p, --pass-through Use strings as found in .po files, without conversion (STRONGLY unrecommended with -x).
REPORTING BUGS
Report bugs to http://bugzilla.gnome.org or by sending email to xml-i18n-tools@gnome.org.
AUTHOR
Darin Adler <darin@bentspoon.com> Kenneth Christiansen <kenneth@gnu.org> Maciej Stachowiak <mjs@eazel.com>
SEE ALSO
intltoolize(8), xml-18n-prepare(8), intltool-extract(8), intltool-update(8) intltool February 14, 2002 INTLTOOL-MERGE(8)

Featured Tech Videos