online QDA logo - Home Page



Bookmark and Share


One of the powerful facilities built into the Atlas.ti text search tool is GREP. GREP is a facility found in many different pieces of software such as text processors. It is a very powerful way of undertaking sophisticated text searches (and in the case of text analysis programs, search and replace). However, it does take a researcher with some programming-like skills to use it. For more information about how to use it see the Atlas.ti v 5.0 manual and these web sites.
* BBEdit Grep Tutorial
* Grep (in UNIX and Linux)
* grep


Atlas.ti logoText and code searches in Atlas.ti v.5

Authors of this page: Graham R. Gibbs and Celia Taylor

Affiliation: University of Huddersfield

Date written: 30th June 2005





Symbols and Conventions

Simple lexical search

Searching is an important analytic technique and that computers excel at. Two kinds of searching are supported by Atlas.ti: lexical searching and code searching. The former involves searching for text; the latter enables you to make analytic comparisons.

Searching is one of the most powerful tools available in Atlas.ti. It can be used for both an exploratory approach to the data, just to see what is there and for checking hunches. Text search, as I have described above is very good for exploration, but you can use code searching in this way too. For example it can be used to elaborate the dimensions of responses and you might use it as a way of developing a taxonomy and improving the content and structure of your code hierarchy. For example, in the Unemployed in Yorkshire project imagine you have done a code search to bring together all the text about the evaluation of various work finding services (e.g. an 'or' search). Reading through this text you might note that there are several different kinds of response to the services. Some respondents found them helpful, others found them inaccessible, others found them irrelevant to their needs. You can create new codes for these ideas (code to them from the text you have found) as a dimension of the concept of evaluation.

A simple lexical search

  1. click the Text Search button (Atlas.ti Text Search button). The Text Search Tool opens. See Figure 1.
  2. Type in your term to search for and click Case Sensitive if you want that. click Next
  3. The document text on display is searched and when a matching term is found the surrounding text with the term highlighted is displayed. The Text Search Tool dialog is modeless, i.e. you can work on the document text while it remains open. Thus you can now code any appropriate text.
  4. click Next, to find the next occurrence.
  5. Once one document is completed you will be prompted whether you wish to search other documents in the Hermeneutic Unit (HU).
  6. You can also code automatically as you search. First create a code to code the text to. (You can use one that already exists if it is relevant).
  7. Then, click Codes:Coding:Auto Coding. The Auto Coding Dialog opens. (See figure 2.).
  8. Select the code to use (e.g. the one you have just created). Type in the term to search for.
  9. In Scope of Search click Selected PD to search only the current primary text, or All PDs to search them all. You also need to specify how much text surrounding the terms you find should be coded to the code.
  10. In Select as quotation , click one of the options (paragraph is useful if they are not too long, otherwise choose sentence or line). click Start. Unless you opted to Confirm always , the document(s) are searched and the found text and its surrounding text are coded automatically.


Atlas.ti Text Search tool

Figure 1. Atlas.ti Text Search tool

You can search for more than one word at a time and for variations of the words by using wildcards and special characters.

Search string Will find
[talk|talking|talks] 'talk' and/or 'talking' and/or 'talks' etc.
talk[a-z]* any of 'talk', 'talking', 'talks', 'talked' etc.

Searching for codes, famlies and text

Atlas.ti contains functions for searching and retrieving text that has already been coded searching for codes and/or families. This allows a very rich set of comparisons to be made.

When doing text search it is clear that what is being searched for is text and what is being searched in is text. This is less obvious when searching codes and/or attributes, but it is important to recognize that the same is true. In these cases what is compared in the search is the actual text coded at or linked to the code or variable. Thus in the simplest case, if you search for one code OR another, what is compared is the text coded with these codes. The search will find all the text coded at either code, if any (including that coded at both codes, if any).

Atlas.ti allows two or more codes (and sometimes families too) to be searched for in combination. Such combination is divided into two kinds, Boolean and proximity.

Boolean searches combine codes using the logical terms like 'and', 'or' and 'not'. This type of search is named after the mathematician, Boole, who first formalised them. Common Boolean searches are 'or' (also referred to as 'combination' or 'union') and 'and' (also called 'intersection').

Proximity searches rely on the coded text being near, after or perhaps overlapping some other coded text. Commonly used proximity searches are 'followed by' (also referred to as 'sequence' or 'preceding') and 'near' (also referred to as 'co-occurrence').

Table 1 explains how they work and gives some examples. Although both Boolean and proximity searches are useful for investigating the data and checking hunches, the Boolean searches are most useful in examining hypotheses or ideas about the data and rely on consistent and accurate coding, whereas proximity searches can be more used speculatively and to explore the data, often at an early stage of coding.

Table 1 Common Boolean and proximity searches using code A and code B


Will find:

Common use

A and B

only the text that is coded with both A and B and not any text that is coded with only one of the codes A or B or neither.

If A is 'gives account' and B is 'plays truant' then A and B will find all the places the respondent explains why they stay away from school.

A or B

any text that is coded with A or B or both. N.B. it is often useful to do an 'or' search on three or more codes at once. This will find text coded with any of the codes.

In a project on people who have separated from their partners, if A is 'abandoned', B is 'drifted apart', C is 'mutual agreement' then A or B or C will find and bring together all the ways the people describe their reasons for splitting up.

A followed by B

the text that is coded with code A where it is followed by some text coded with code B. You may have to specify how closely it is followed.

In the same experience of separation project, if A is 'turning point' and B is 'training' then A followed by B (retrieving B) will show where people talk about training they have had after their turning point.

A near B

only the text that is coded with one code that appears near text coded with the other (before or after or even overlapping). You will need to define what near means, for example 'within 2 paragraphs'.

In the homelessness project, if A is 'becoming homeless' and B is 'anger' then A near B (retrieving A) will show where people talk about becoming homeless that is associated with their expressing anger.

For example, imagine in a study of people looking for work, you have coded all talk about looking for work to the codes 'Routine', 'Haphazard' and 'Entrepreneurial'. If you wanted to compare how men talked in these ways with how women talked about the same then you could either do a search for text with the variable value 'male' and coded with the code 'Routine', and then text with value 'female' and coded with the code 'Routine'. Then repeat this for 'Haphazard' and 'Entrepreneurial'.

To search for coded text with certain attribute value:

  1. Set up a family of male documents and one for female documents (as above 'to set up families).
  2. click the Query Tool icon in the icon bar (Atlas.ti Query Tool icon), the Atlas.ti Query Tool dialog opens. See Figure 4.
  3. click the code 'Routine' in the Codes: list. Its name is copied to the Query: list. A list of the quotations found is displayed in the Result: list. click the sample text for each quotation in the Result: list to see the coded text highlighted in its document displayed in the Primary Document Area.
  4. click Scope button. The Define Scope of Query dialog opens. See Figure 5.
  5. click the clear button (C) to clear any previous selections.
  6. click the family PF: Male in the Primary Doc Families: list.
  7. The family 'Male' is copied to the Query: list. Also the list of quotations showing in the Result: list of the Query Tool is reduced to show only those quotations in the documents in the male 'family'. Inspect the quotations in the Primary Document area.
  8. Then click the family PF: Female to show only those quotations in the documents in the female 'family'.


Atlas.ti Query Tool dialog

Figure 4. The Atlas.ti Query Tool dialog.


Atlas.ti Scope of Query dialog

Figure 5. Atlas.ti Scope of Query dialog