Sponsored Content
Full Discussion: incrementing a for loop
Top Forums Shell Programming and Scripting incrementing a for loop Post 67755 by Perderabo on Sunday 27th of March 2005 08:59:57 AM
Old 03-27-2005
Interesting that you have an odd number of elements. It's not clear how to handle that final e. But you could do something like this:
Code:
$ cat loop
#! /usr/bin/ksh

LIST="a b c d e"
switch=1
for word in $LIST  ; do
        if ((switch)) ; then
                word1=$word
        else
                word2=$word
                echo word1 = $word1 word2 = $word2
        fi
        ((switch=!switch))
done

exit 0
$ ./loop
word1 = a word2 = b
word1 = c word2 = d
$

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

New iteration of for-loop without incrementing?

Another question, is it possible to, in a for-loop incrementing until it reaches a certain number, to have it loop again without incrementing? Just have it drop what it is doing when it reaches this command and start again at the same number it was at? I know I could make a while loop and just... (0 Replies)
Discussion started by: jeriryan87
0 Replies

2. Post Here to Contact Site Administrators and Moderators

No. post not incrementing

Hi Admin, i just noticed that when I do postings, the number does not increment. eg : Post A -Total Posts 312 Post B - Total Posts 312 Post C - Total Posts 313 Post D - Total Posts 313 Why is this so? Can you kindly check this out? Thank you. (5 Replies)
Discussion started by: incredible
5 Replies

3. Shell Programming and Scripting

Need help with incrementing date in while loop.

I need to execute a KornShell (SunOS 5.9) script against a range of dates: endDate=20080804 extractDate=20080401 while ; do batch < scripts/myshellscript.sh $extractDate ## add 1 day to extractDate ## done My question is how do I increment the extractDate variable and still have it... (3 Replies)
Discussion started by: Robert W.Mills
3 Replies

4. Shell Programming and Scripting

Incrementing a variable is not happening

Hi All, Iam trying to increment a variable Following is the code #!/usr/bin/ksh i=1; i='expr $i+1'; echo $i; Output: expr $i+1 not able to understand why its happening in that way i was expecting result as 2... if the above method is worng .. can you help how i can get... (3 Replies)
Discussion started by: kiranlalka
3 Replies

5. Shell Programming and Scripting

Incrementing in while loop

echo "Enter Starting id:" echo "" read rvst_strt_idxx echo "" echo "Enter Closing id:" echo "" read rvst_clsn_idxx FIELD1=$rvst_strt_idxx FIELD2="USER" FIELD3="TEST" FIELD4="12345" FIELD5="00000" echo "" echo "INSERT INTO TABLE( FIELD1, FIELD2, FIELD3, FIELD4, ... (7 Replies)
Discussion started by: ultimatix
7 Replies

6. Programming

incrementing variables in C++

Hello, what is the result of the below, and how does it work? int i = 5; cout << i++ * ++i << endl; cout << i << endl; (12 Replies)
Discussion started by: milhan
12 Replies

7. Homework & Coursework Questions

Incrementing Variable resets outside of while loop

1. The problem statement, all variables and given/known data: Variable is resetting to 0 after incrementing in while loop My bit of scripting displays the current users logged in the machine. Then it reads in a specific username and displays the processes for that user. The portion that I... (3 Replies)
Discussion started by: ratzlaff
3 Replies

8. Shell Programming and Scripting

Incrementing with a twist - please help

I'm currently trying to write a ksh or csh script that would change the name of a file found in directories and attach to the name an incrementing three digit number. I know how to write a script that will go: 000, 001, 002, 003, etc The twist is I need more increments then allowed by a 3... (11 Replies)
Discussion started by: Rust
11 Replies

9. UNIX for Dummies Questions & Answers

Incrementing variable in for

Hi, want to increment a variable in a for loop like this: for (( c=$total-1; c>=0; c-- )) do if ; then maximo=$valores fi done But it gives the error: No such file or directory How can i do this only incrementing the c variable? Thanks (8 Replies)
Discussion started by: limadario
8 Replies

10. UNIX for Dummies Questions & Answers

Help with incrementing the date

I have a date variable like 2012-12-31 ( YYYY -MM -DD ) in flat file and it has to be incremtented by 1 every time i run the script Example : i tried the below script after data modifcation but this does not seem to work expr `20121231 +%Y%m%d` + 1 Note : Mine is not a GNU... (4 Replies)
Discussion started by: akshay01987
4 Replies
man.nopage(7)						 Miscellaneous Information Manual					     man.nopage(7)

Name
       man.nopage - the man.nopage macro package for printing reference pages

Syntax
       tbl file...  | nroff [ -nN ] [ -rpS ] [ -rl1 ] -man.nopage | col | ...
       tbl file...  | *troff [ -nN ] [ -rpS ] [ -rl1 ] -man.nopage | ...

Description
       The  macro package is used to format reference manual pages for unpaginated viewing or for printing on line printers.  The installed refer-
       ence pages are formatted by the and the commands, using the macro package.

       The page width is 80 columns when formatted by the command and is 8.5 inches when formatted with text formatters.  The  output  is  unpagi-
       nated when formatted by the command, hence the name `nopage'.  The output is paginated when formatted by text formatters, with page numbers
       appearing at the bottom of each output page with odd page numbers appearing on the right side and even page numbers appearing on  the  left
       side.  The output is similar to the output generated with the macro package.

       The format of the ULTRIX online reference pages is determined by the macro package.  The macros are a compatible subset of the macros.

   Macros
       The following describes the macros in the macro package.

       Any  text  argument can range from zero to six words.  Quotation marks (" ") can be used to include blanks in words.  If text is not speci-
       fied, special treatment is applied to the next input line that has text to be printed.  In this way, can be used to italicize a whole  line
       or followed by to make small bold letters.

       A  prevailing  indent distance is remembered between successive indented paragraphs, and is reset to a default value upon reaching a nonin-
       dented paragraph.  Default units for indents i are ens (an en is 1 character or 1/2 em space in current point size).

       Typeface and size are reset to default values before each paragraph, and after processing font and size setting macros.

       .B [ text... ]
		   Sets text text in boldface.	If no text is specified, the next text line is set in boldface.

       .BI word1 word2 [ words... ]
		   Sets word1 in boldface, word2 in an italic typeface, and then alternates between these two fonts for the remaining words, up to
		   six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .BR word1 word2 [ words... ]
		   Sets  word1	in boldface, word2 in a roman typeface, and then alternates between these two fonts for the remaining words, up to
		   six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .CT character
		   Prints the keyboard control character indicator . For example, prints as .

       .CW	   Sets text in a constant width font until another font change is encountered.

       .De	   Ends an unfilled display block (started by Also ends automatic centering, if it was in effect.

       .Ds	   Starts an unfilled display block.  Text between and is printed in a roman typeface, with `no fill' mode (no wrapping and  blank
		   lines allowed) in effect.  The display block is set flush left.

       .DT	   Restores default tabs.  Default tabs are set to .5 inches, starting with .5i, 1i, ... .

       .EE	   Ends an example and restores basic text defaults and indents.

       .EX [ i ]   Starts  an  example.   Text	between  and  is printed in a constant width font with `no fill' mode (no wrapping and blank lines
		   allowed) in effect.	The example is set flush left unless an indent i is specified.	Units of i are ens.

       .G [ text... ]
		   Sets text in a sans-serif typeface.	If no text is specified, the next text line is set in a sans-serif typeface.

       .GL [ text... ]
		   Sets text in a sans-serif italic typeface.  If no text is specified, the next text line is set in a sans-serif italic typeface.

       .HB [ words... ]
		   Sets the text in underline mode or in a sans-serif bold typeface, depending on the type of text formatter or If the	text  for-
		   matter  is  of type the next 999 input lines are formatted in underline mode italic mode), or all the lines up to a font change
		   are formatted in underline mode, depending on which limit is encountered first.  If the text formatter is of type text  is  set
		   in a sans-serif bold typeface until a font change is encountered.  Up to nine words can also be specified as arguments.

       .HP [i]	   Begins a paragraph with a hanging indent of i ens.

       .I [ text... ]
		   Sets text in an italic typeface.  If no text is specified, the next text line is set in an italic typeface.

       .I1 word    Sets a temporary indent to the length of the specified word.

       .I2 word    Reverses one line and then sets a temporary indent to the length of the specified word.

       .IB word1 word2 [ words... ]
		   Sets word1 in an italic typeface, word2 in boldface, and then alternates between these two fonts for the remaining words, up to
		   six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .IP x [i]   Sets the prevailing indent to i.  Then begins the indented paragraph with a hanging tag given by the next text  line.   If  the
		   tag does not fit, the macro places the next text on a separate line.  Tag x appears in bold typeface.

       .IR word1 word2 [ words... ]
		   Sets  word1	in  an	italic	typeface, word2 in a roman typeface, and then alternates between these two fonts for the remaining
		   words, up to six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .LP	   Same as the macro.  This macro is obsolete, but is provided for backwards compatibility.

       .MS reference_page section_subsection [ punctuation ]
		   Sets reference_page immediately followed by section_subsection in parentheses followed by  optional	punctuation,  using  fonts
		   that distinguish this reference page reference from ordinary text.  For example,

       .NE	   Ends a note. Also cancels automatic centering if it was in effect.

       .NT [ header1 ] [ C ]
       .NT [ C ] [ header2 ]
		   Starts  a note.  If no arguments are specified, the default header for the note is `Note'.  If the first argument is the letter
		   `C', all text in the note is centered, for the next 99 text lines or until the macro is called, whichever comes first.  If  the
		   first  argument is not `C', it becomes the header of the note, even if header2 is also specified.  The header2 argument becomes
		   the header of the note if the first argument is `C'.

       .PD [ v ]   Sets the interparagraph distance to v vertical spaces.  Resets the distance to the default value if v is omitted.

       .PN x [ y ] Sets x in an italic or constant width typeface (depending on the formatter type) and then reverts  to  the  previous  typeface.
		   The optional argument y is appended to x with no space, but printed in the previous typeface.  The x argument is usually a path
		   name; y is usually punctuation.

       .Pn x y [ z ]
		   Sets x in the current typeface, sets y in an italic or constant width typeface (depending on the formatter type) and appends it
		   to  x,  and	finally  reverts  to the previous typeface.  The optional argument z is appended to y, but printed in the previous
		   typeface.  Spaces are removed between x, y, and z, unless quotation marks (" ") are used to enclose strings with spaces.  The x
		   argument is usually a fixed path name; y is usually a variable path name; and z is usually punctuation.

       .PP	   Starts a block paragraph.  Sets the prevailing indent to .5i for and four picas for text formatters.

       .R	   Sets the text in a roman typeface until another font change is encountered.	Also ends underline mode if it was in effect.

       .RB word1 word2 [ words... ]
		   Sets  word1	in a roman typeface, word2 in boldface, and then alternates between these two fonts for the remaining words, up to
		   six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .RE [ k ]   Returns to the kth relative right shift indent level.  (Restores the left margin to the position prior to the kth call).  Spec-
		   ifying  k=0	is  equivalent to specifying k=1.  If k is omitted, restores the left margin to the most recent previous position.
		   When k=1 or 0, the default indent increment is restored.

       .RI word1 word2 [ words... ]
		   Sets word1 in a roman typeface, word2 in an italic typeface, and then alternates between these  two	fonts  for  the  remaining
		   words, up to six words.  Blanks between words are stripped unless the string is enclosed in quotation marks (" ").

       .RN	   Prints the return character indicator, .

       .RS [ i ]   Shifts the left margin to the right (relatively) the amount of i ens. The macro calls can be nested up to nine levels.  If i is
		   not specified for the first call, the relative right shift increases .5 inch for and four picas for	text  formatters.   Nested
		   calls increment the relative indent by i ens, or by .2 inch for or by 2 picas for text formatters.

       .SH text    Creates a section header.

       .SM [ text ]
		   Sets  text  to  be  two  points smaller than the current point size.  If no text is specified, the next text line is set in the
		   smaller point size.

       .SS text    Creates a subsection header.

       .TB [ words... ]
		   Same as the macro.  This macro is obsolete, but is provided for backwards compatibility.

       .TH n c[s] [ a ] [ f ] [ x ]
		   Begins a new reference page and sets the page title.  Also sets up headers and footers for output pages, sets up  all  defaults
		   and	traps,	and calls the and macros.  The title appears as a header on all pages of the formatted reference page. The n argu-
		   ment is the reference page name.  The c argument is the primary section number or letter.  The s argument is the subsection, if
		   any.   The  a  argument is for an optional machine architecture specific label; for example ``VAX''.  The f argument optionally
		   alters a portion of the page footer.  The x argument is for optional extra commentary; for example ``Unsupported''.

		   Fields n, c, and s appear together at the top of each output page (see the top of this page	for  an  example).   These  fields
		   alternate  between  the  right  top and left top of a page header, corresponding to odd and even page numbers.  Field a appears
		   opposing the page name in the header when formatted with but appears as a bleed tab when formatted with text formatters.  The f
		   argument appears in the page footer on the inside edge of the page (left for odd page numbers, right for even).  The x argument
		   appears underneath the page name in the header.

		   The last three fields are optional.	To skip a field, specify a pair of quotation marks ("") in the field to be skipped.

       .TP [i]	   Sets the prevailing indent to i.  Then begins the indented paragraph with a hanging tag given by the next text  line.   If  the
		   tag does not fit, the macro places the next text on a separate line.

       .VE	   End a vertical margin bar.

       .VS [ 4 ]   Starts a vertical margin bar, if `4' is specified; otherwise, the macro does nothing.

   Macros That Cause Line Breaks
       The following macros cause line breaks:

	      De   Ds	EE   EX   HP   IP
	      LP   PP	RE   SH   SS   TH
	      TP

   Macros That Need Text Lines
       The following macros affect the following line of text if they are specified in the input without arguments:

	      B    BI	BR   G	  GL   I
	      IB   IR	RI   RB   SH   SS
	      SM

	  Defaults
	      Automatic  hyphenation is turned on. However, last lines (ones that will cause a trap) are not hyphenated and the last and first two
	      characters of a word are not split off.

       Characters printed from the Special Font are artificially bolded by three units whenever the current font is `3'.

       The default page width is 80 columns output and 8.5 inches for output generated by text formatters.  The text area is  horizontally  placed
       on the page so that the effective page margin is .3 inches for and 7.5 picas for text formatters.

       The default page length is unlimited (unpaginated) for output, but is 11 inches for output generated by text formatters.

       The macro sets up the following defaults:

       o   Text is set in ``noadjust'' mode; the right margin is ragged.

       o   The default interparagraph distance is 1v for and .5v for text formatters.

       o   The basic text indent is .5 inches for and four picas for text formatters, from the left margin.

       o   The maximum text line length is 7.4 inches for and 36 picas for text formatters.

       o   Sets tab stops every .5 inches.

       o   The basic text point size is 11 points, with line spacing set to 12 points.

       o   The basic text font is ``R'' (a roman typeface).

       o   Reference page headers, section headers, and subsection headers are set in a sans-serif bold typeface.

       The default section number, which apepras like a ``chapter'' number in page footers is 0 for output.  There are no page footers for output.

Options
       -nN	   Numbers the first generated page as N.

       -rl1	   Turns on line double-spacing mode.

       -rpS	   Sets the section number fo S.  Section numbers appear in output page footers as S-N (chapter-page-number).

Restrictions
   Predefined Registers
       The following registers are predefined by the macro package and should not be changed:

       PO	   Page offset and page margin

       IN	   Left margin indent relative to the section headers

       LL	   Line length including

       PL	   Page length

       The register `l' is predefined when you specify the option. Its default value is 0.  The command does not use this option.

       The register `p' is predefined when you specify the option. Its default value is 0.  The command does not use this option.

   Reserved Registers
       The following registers are reserved for internal use by the and macro packages:

	      A1   DX	EX   l	 p   p#
	      PF

       In addition, registers beginning with the characters `)', `]', and `}' are also reserved for internal use.

       Registers predefined by the commands, and the and text preprocessors and formatters should not be redefined.

   Predefined Strings
       The following strings are predefined by the macro package and should not be changed:

       lq	   " if `` if

       rq	   " if '' if

       S	   Command string to change type size to 10 points.

   Reserved Strings and Macros
       The following string and macro names are reserved for internal use by the and macro packages:

	      ##   A1	BD   BK   CD   D
	      DE   DS	HH   ID   LD   NO
	      NX   P	UF   ya   yn   yl
	      ys

       In addition, names beginning with the characters `)', `]', and `}' are also reserved for internal use.

       Names predefined by the commands, and the and text preprocessors and formatters should not be redefined.

   .TH Macro Restrictions
       The section number should only be 1-8, `n', `l', `o', or `p'.  Other values might not be recognized by the or commands.

       Sections 6, 7, `n', `l', `o', and `p' do not currently have subsections, so subsections should not be specified.

       The  architecture field (a) should not exceed four characters.  A value longer than four characters might print outside the right page mar-
       gin.

       Reference pages containing commands should be preprocessed by an text preprocessor before being installed on the system.

       Reference pages containing commands must not be preprocessed before being installed on the system.

   The Name Section
       The command assumes the Name section of a reference page has the following format:
       name[, name, name ...] - explanatory text
       There should be at least one space after any comma and only one space following the ``backslash hyphen'' (-).  There  should  not  be  any
       commands in the explanatory text.  The explanatory text should be brief.  The command combines information in the Name section with parame-
       ters of the macro to create an entry in a database searched by the and commands.

Portability Considerations
       The ULTRIX macro packages contain extensions and enhancements borrowed from other macro packages.  If you have a  need  to  write  portable
       reference pages, you should not use the following macros:

	      CT   CW	De   Ds   EE   EX
	      G    GL	HB   I1   I2   LP
	      MS   NE	NT   PN   Pn   R
	      RN   TB	UF

       The and macros are obsolete.

       The  ULTRIX  macro  differs  from  other implementations of the macro.  The primary differences are in the placement of the page title, and
       third and fifth fields in the output.  The page title (the page name and section number) is commonly placed  on	both  sides  of  the  page
       header in other implementations.  The more common placement of the third field is in the center of the page footer.  The more common place-
       ment of the fifth field is in the center of the page header.

       The macro permits the use of the percent (%) character in any of its fields.  The presence of the percent character may cause problems  for
       other implementations of this macro.

       Use  of the and commands should be avoided, because the version of the command in some other implementations might not preprocess reference
       pages through the command.  The commands also might not be installed.

Files
       The			  macro package file

See Also
       col(1), man(1), nroff(1), tbl(1), man(7), man.repro(7), catman(8)

																     man.nopage(7)
All times are GMT -4. The time now is 06:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy