Thanks so much Scrutinizer. It looked like it was printing out some manner of counter (possibly string length?) as the first field of every line. I adjusted your code slightly and also for simplicity sake took out the leading space in the input file. I also needed to transcribe your code to a one-liner as I was passing output into it via pipe (I presented it as a file above for simplicity sake).
Thus, your code transcribed awk -F '[][]' '{for(i=2; i<=NF; i+=2) if($i~/<Ob>/){split($i,F," "); print i,$1 F[1]; next}}'gave me this:
I adjusted to awk -F '[][]' '{for(i=2; i<=NF; i+=2) if($i~/<Ob>/){split($i,F," "); print $1 F[1]; next}}' and while I haven't investigated in detail, that seems to have done the trick. Thanks so much!
--- Post updated at 09:18 PM ---
Quote:
Originally Posted by Don Cragun
In your sample data, the [string <0b>] always appears at the end of the line that starts with <space>s immediately followed by PS. Is that also true in your real data? If it is, we can simplify the code Scrutinizer suggested to something like:
or:
Unfortunately no Don, the string with <Ob> can appear anywhere in the line. Nevertheless, I did a bit of an adjustment to Scrutinizer's code and it seems to be working very well. Thank you so much Don.
I'm at wits end with this issue and my troubleshooting leads me to believe it is a problem with the file formatting of the array referenced by my script:
awk -F, '{if (NR==FNR) {a=$4","$3","$2}\
else {print a "," $0}}' WBTSassignments1.txt RNCalarms.tmp
On the WBTSassignments1.txt file... (2 Replies)
Hello, I am using awk to match text in a tab separated field and am able to do so when matching the exact word. My problem is that I would like to match any sequence of text in the tab-separated field without having to match it all. Any help will be appreciated. Please see the code below.
awk... (3 Replies)
i have a file like this
< '393200103052';'H3G';'20081204'
< '393200103059';'TIM';'20110111'
< '393200103061';'TIM';'20060206'
< '393200103064';'OPI';'20110623'
> '393200103052';'HKG';'20081204'
> '393200103056';'TIM';'20110111'
> '393200103088';'TIM';'20060206'
Now i have to generate a file... (9 Replies)
attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now.
##I have an array $wordString that initializes to a string of dashes
##reflecting the number of letters in $theWord
##every time the user enters a (valid)... (5 Replies)
Hi All,
I got stuck up with shell script where i use awk. The scenario which i am working on is as below.
I have a file text.txt with contents
COL1 COL2 COL3 COL4
1 A 500 400
1 B 500 400
1 A 500 200
2 A 290 300
2 B 290 280
3 C 100 100
I could able to sum col 3 and col4 based on... (3 Replies)
here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb
cat dump.sql
INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Hi
Input:
{ committed = 782958592; init = 805306368; max = 1051394048; used = 63456712; }
Result:
A map (maybe Associative Array) where I can iterate through the key/value. Something like this:
for key in $map
do
echo key=$key value=$map
done
Sample output from the map:
... (2 Replies)
Is there a reliable way to deal with whitespace in array indicies?
I am trying to annotate fails in a database using a table of known fails.
In a begin block I have code like this:
# Read in Known Fail List
getline < "'"$failListFile"'"; getline < "'"$failListFile"'"; getline <... (6 Replies)
Hi,
I am trying to read an Oracle listener log file line by line and need to separate the lines into several fields. The field delimiter for the line happens to be an asterisk.
I have the script below to start with but when running it, the echo command is globbing it to include other... (13 Replies)
In the awk below I am trying to get the average of the sum of $7 if the string in $4 matches in the line below it. The --- in the desired out is not needed, it is just to illustrate the calculation. The awk executes and produces the current out. I am not sure why the middle line is skipped and the... (2 Replies)
Discussion started by: cmccabe
2 Replies
LEARN ABOUT DEBIAN
m68hc11-gasp
gasp(1) GNU Development Tools gasp(1)NAME
gasp - a preprocessor for assembly programs
SYNOPSIS
gasp [-a|--alternate] [-c CHAR | --commentchar CHAR] [-d|--debug] [-h|--help] [-M|--mri] [-o OUTFILE | --output OUTFILE] [-p|--print]
[-s|--copysource] [-u|--unreasonable] [-v|--version] INFILE ...
DESCRIPTION
The primary purpose of the GNU assembler is to assemble the output of other programs--notably compilers. When you have to hand-code spe-
cialized routines in assembly, that means the GNU assembler is an unfriendly processor: it has no directives for macros, conditionals, or
many other conveniences that you might expect.
In some cases you can simply use the C preprocessor, or a generalized preprocessor like M4; but this can be awkward, since none of these
things are designed with assembly in mind.
gasp fills this need. It is expressly designed to provide the facilities you need with hand-coded assembly code. Implementing it as a
preprocessor, rather than part of the assembler, allows the maximum flexibility: you can use it with hand-coded assembly, without paying a
penalty of added complexity in the assembler you use for compiler output.
INFILE... are the files to be preprocessed.
OPTIONS
The simplest way to use GASP is to run it as a filter and assemble its output. In Unix and its ilk, you can do this, for example:
$ gasp prog.asm | as -o prog.o
Naturally, there are also a few command-line options to allow you to request variations on this basic theme. Here is the full set of pos-
sibilities for the GASP command line.
-a
--alternate
Use alternative macro syntax. *Note Alternate macro syntax: Alternate, for a discussion of how this syntax differs from the default
GASP syntax.
-c CHAR
--commentchar CHAR
Use CHAR as the comment character. The default comment character is `!'. For example, to use a semicolon as the comment character,
specify `-c ';'' on the GASP command line. Since assembler command characters often have special significance to command shells, it
is a good idea to quote or escape CHAR when you specify a comment character.
For the sake of simplicity, all examples in this manual use the default comment character `!'.
-d
--debug
Show debugging statistics. In this version of GASP, this option produces statistics about the string buffers that GASP allocates
internally. For each defined buffersize S, GASP shows the number of strings N that it allocated, with a line like this:
strings size S : N
GASP displays these statistics on the standard error stream, when done preprocessing.
-h
--help Display a summary of the GASP command line options.
-M
--mri Use MRI compatibility mode. Using this option causes GASP to accept the syntax and pseudo-ops used by the Microtec Research
`ASM68K' assembler.
-o OUTFILE
--output OUTFILE
`-o OUTFILE' `--output OUTFILE' Write the output in a file called OUTFILE. If you do not use the `-o' option, GASP writes its out-
put on the standard output stream.
-p
--print
Print line numbers. GASP obeys this option _only_ if you also specify `-s' to copy source lines to its output. With `-s -p', GASP
displays the line number of each source line copied (immediately after the comment character at the beginning of the line).
-s
--copysource
Copy the source lines to the output file. Use this option to see the effect of each preprocessor line on the GASP output. GASP
places a comment character (`!' by default) at the beginning of each source line it copies, so that you can use this option and
still assemble the result.
-u
--unreasonable
Bypass "unreasonable expansion" limit. Since you can define GASP macros inside other macro definitions, the preprocessor normally
includes a sanity check. If your program requires more than 1,000 nested expansions, GASP normally exits with an error message.
Use this option to turn off this check, allowing unlimited nested expansions.
-v
--version
Display the GASP version number.
INFILE ...
The input file names. You must specify at least one input file; if you specify more, GASP preprocesses them all, concatenating the
output in the order you list the INFILE arguments.
Mark the end of each input file with the preprocessor command `.END'.
SEE ALSO
`gasp' entry in info; The GNU Binary Utilities, Roland H. Pesch (October 1991); gasp(1).
Debian September 1999 gasp(1)