List Lines in a Fileset

Qedit has the ability to list and search through multiple files provided the referenced files are identified by Include, Use or Copy statements.

The Include keyword is commonly used in a lot of programming languages. It is usually prefixed by a special character. Qedit currently recognizes the following prefixes: dollar sign ($), pound sign (#), dot (.) or exclamation point (!).

The Use keyword is used in Qedit or Suprtool Use files and in Cognos Powerhouse e.g. Quiz, Quick. It does not have any prefix and is recognized as long as it is the first word on a line.

Copy statements are recognized in Cobol source files. This is part of the Cobol standards.

To search for one of these keywords, you enter the corresponding option on the List command: $include, $use and $copy. For example:

    /open rep23.src
    /list $include "abort(914)"

This works well if the files you are working with already contain one of these keywords. It does not work so well if the files you want to list are of mixed types and do not use any of the keywords above.

However, there is a way that you can search through an arbitrary fileset: turn that list of files into a list of $include lines and then search on the that list using the $include option.

Here is a short command file that allows you to search a fileset.


	parm filesetParm="@",searchString=""
	purge fileset,temp
	listfile !filesetParm > fileset,6
	/t fileset
	/d 1/3
	/d "~" (p)
	/c 1 "$include " @
	if "!searchString" = "" then
    	/lj $inc @
    	/lj $inc  "!searchString"


The command file accepts two parameters. The first parameter, filesetParm, is the fileset you want to search. Its value is passed in to the Listfile command. As such, it can be any MPE fileset, simple or using wildcards. Since the command file uses the Listfile command, the command can work on Posix files if needed. The default is to look for all MPE files in the current group.

The second parameter, searchString, is the string you want to search on. This parameter is optional. The default is to list all the lines in each file.


To list the contents of all the MPE files in the current group:
To list the contents of all the MPE files whose names start with T:
   listset t@
To list only the lines containing the word Display in all MPE files with names starting with test:
   listset test@,display
To search all MPE and Posix files:
   listset ./@,display

See also "how to edit files in a fileset".

[François Desrochers]

....Back to the Qedit Q&A Page