06-24-2009
Append variable to only certain lines
Hi There!
I'm trying to write a shell script which generates a random hexadecimal number and then appends it to the end of lines XX onwards of a certain file. XX is determined by a certain string on the previous line.
Thus for example, if the input file is
Quote:
This is line 1
This is line 2
This is line 3
SEPARATOR
This is line 4
This is line 5
I search for the string "SEPARATOR" and starting with the next line, keep appending the hex strings. Thus, the output should be
Quote:
This is line 1
This is line 2
This is line 3
SEPARATOR
This is line 4 <RANDOM HEX>
This is line 5 <RANDOM HEX>
I can generate the random hex strings fine, and also find the line number to start appending from, but im having problems with the actual appending.
What is the best way to do this? (The input files could have 10k+ lines)
Thanks!
-orno
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all,
Can someone suggest how to append some word to all lines in file. for example word "Honey" to file f1 with lines:
Mia
Katrin
Elizabeth
to get
Honey Mia
Honey Katrin
Honey Elizabeth
Thanks in advance
Givi (3 Replies)
Discussion started by: giviut
3 Replies
2. Shell Programming and Scripting
I have the following data in a file and would like to append the lines inside each section 10, 20, 30, 40, etc... onto one line for each of the sections. Is it possible with SED to make this happen??
10 00039393 DOCK: RECEIVE PART, TAG. D D
... (3 Replies)
Discussion started by: miklacic
3 Replies
3. Shell Programming and Scripting
Hello-
I have a variable which contains a number, I need to populate number of zeros before another value as per this variable value.
for example:
I have variable X whose content is 5, variable Y whose content is 123
Now append number of zeros as per variable X before varible 'Y'... (4 Replies)
Discussion started by: pasupuleti81
4 Replies
4. Shell Programming and Scripting
Hi All,
I have a file separated by , and each line end with ".If the line doesnt end with " then i need to join the current line and the next one and put them in another file
a, b, c,d"
d,f,g,h
k, l m"
o,p,q,r,t"
ouput :
a,b,c,d"
d,f,g,h,k,l,m"
o,p,q,r,t" (2 Replies)
Discussion started by: gwrm
2 Replies
5. Shell Programming and Scripting
Legends,
Please help me out.
I have a file abc.txt with the following entries
JACK
JIL
SANDY
amer
europe
pak
Now, i want to append the character after each line.
but, condition is if it is UPPER case then character appended should be uppercase, else lowercase
example:
JACKL2... (5 Replies)
Discussion started by: sdosanjh
5 Replies
6. Shell Programming and Scripting
Hi,
I have the following lines that I would like to see in an array for easy comparisons and printing:
Example 1:
field1,field2,field3,field4,field5
value1,value2,value3,value4,value5Example 2:
field1,field3,field4,field2,field5,field6,field7... (7 Replies)
Discussion started by: ejdv
7 Replies
7. UNIX for Dummies Questions & Answers
I want to build an array using awk, consisting only of a subset of lines of a file. I know how to have awk assess whether a key phrase is in a particular line, but I can't find anywhere how to then append the line containing that phrase to an array that has previously-found lines also containing... (9 Replies)
Discussion started by: pts2
9 Replies
8. Shell Programming and Scripting
Hi,
I have a variable... it can take a value from 1 to 99...
now when it is 1 to 9 i want to save it as 01 to 09 in the same variable... can this be done using sed or awk???
a=1
i want it as a=01
Thanks in advance... (8 Replies)
Discussion started by: Nithz
8 Replies
9. UNIX for Dummies Questions & Answers
I have output like this:
USER_ID
12/31/69 19:00:00
12/31/69 19:00:00
USER_ID
12/31/69 19:00:00
12/31/69 19:00:00
USER_ID
12/31/69 19:00:00
12/31/69 19:00:00
USER_ID
12/31/69 19:00:00
12/31/69 19:00:00
...
where USER_ID is a unique user login followed by their login timestamp and... (6 Replies)
Discussion started by: MaindotC
6 Replies
10. Shell Programming and Scripting
I have a requirement where I need to add a variable value based on a pattern match. When I try this it works:
sed '/IS_ETL_DEV/a\
ABCD' File1.txt > File1.tmp
Now I want to replace IS _ETL_DEV with a variable like $Pattern and replace the values ABCD with a variable $Var the value "$$XYZ=1".... (4 Replies)
Discussion started by: vskr72
4 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)