(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:host) op:Equal rhs:{(DQ (intuitive.com))} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:maxmatches) op:Equal rhs:{(20)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(0)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:temp)
          op: Equal
          rhs: 
            {
              (DQ (/tmp/) 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(basename)} {($ VSub_Number '$0')})])
                  left_token: <Left_CommandSub '$('>
                  spids: [27 31]
                ) (.) ($ VSub_Dollar '$$')
              )
            }
          spids: [24]
        )
      ]
      spids: [24]
    )
    (C {(trap)} 
      {
        (DQ 
          (CommandSubPart
            command_list: (CommandList children:[(C {(which)} {(rm)})])
            left_token: <Left_Backtick '`'>
            spids: [40 44]
          ) (' -f ') ($ VSub_Name '$temp')
        )
      } {(0)}
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('Usage: ') 
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(basename)} {($ VSub_Number '$0')})])
                      left_token: <Left_CommandSub '$('>
                      spids: [73 77]
                    ) (' logfile')
                  )
                }
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 66]
        )
      ]
      spids: [16777215 90]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("Error: can't open file ") ($ VSub_Number '$1') (' for analysis.'))}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 108]
        )
      ]
      spids: [16777215 127]
    )
    (ForEach
      iter_name: URL
      iter_words: [
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Pipeline
                    children: [
                      (C {(awk)} {(SQ <'{ if (length($11) > 4) { print $11 } }'>)} 
                        {(DQ ($ VSub_Number '$1'))}
                      )
                      (C {(grep)} {(-vE)} 
                        {(DQ ('(/www.') ($ VSub_Name '$host') ('|/') ($ VSub_Name '$host') (')'))}
                      )
                      (C {(grep)} {(SQ <'?'>)})
                    ]
                    negated: F
                  )
                ]
              )
            left_token: <Left_CommandSub '$('>
            spids: [136 170]
          )
        }
      ]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:searchengine)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$URL')})
                                    (C {(cut)} {(-d/)} {(-f3)})
                                    (C {(rev)})
                                    (C {(cut)} {(-d.)} {(-f1-2)})
                                    (C {(rev)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [177 205]
                        )
                      )
                    }
                  spids: [175]
                )
              ]
              spids: [175]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:args)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$URL')})
                                    (C {(cut)} {(-d) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} 
                                      {(-f2)}
                                    )
                                    (C {(tr)} {(SQ <'&'>)} {(SQ <'\\n'>)})
                                    (C {(grep)} {(-E)} 
                                      {(SQ <'(^q=|^sid=|^p=|query=|item=|ask=|name=|topic=)'>)}
                                    )
                                    (C {(sed)} {(-e)} {(SQ <'s/+/ /g'>)} {(-e)} {(SQ <'s/%20/ /g'>)} {(-e)} 
                                      {(SQ <'s/"//g'>)}
                                    )
                                    (C {(cut)} {(-d) (Lit_Other '=')} {(-f2)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [211 281]
                        )
                      )
                    }
                  spids: [209]
                )
              ]
              spids: [209]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$args'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ (${ VSub_Name searchengine) (':      ') ($ VSub_Name '$args'))}
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$temp')}
                        )
                      ]
                    )
                  ]
                  spids: [16777215 301]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ (${ VSub_Name searchengine) ('       ') 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$URL')})
                                    (C {(cut)} {(-d) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} 
                                      {(-f2)}
                                    )
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [333 346]
                        )
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$temp')}
                    )
                  ]
                )
              ]
              spids: [319 354]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:count)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Plus
                              left: (ArithWord w:{($ VSub_Name '$count')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [359 368]
                        )
                      )
                    }
                  spids: [357]
                )
              ]
              spids: [357]
            )
          ]
          spids: [172 371]
        )
      spids: [135 16777215]
    )
    (C {(echo)} {(DQ ('Search engine referrer info extracted from ') (${ VSub_Number 1) (':'))})
    (Pipeline
      children: [
        (C {(sort)} {($ VSub_Name '$temp')})
        (C {(uniq)} {(-c)})
        (C {(sort)} {(-rn)})
        (C {(head)} {(-) ($ VSub_Name '$maxmatches')})
        (C {(sed)} {(SQ <'s/^/  /g'>)})
      ]
      negated: F
    )
    (C {(echo)} {(DQ )})
    (C {(echo)} {(Scanned)} {($ VSub_Name '$count')} {(entries)} {(KW_In in)} {(log)} {(file)} {(out)} {(of)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(wc)} {(-l)}]
                  redirects: [
                    (Redir
                      op: <Redir_Less '<'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                )
              ]
            )
          left_token: <Left_CommandSub '$('>
          spids: [440 450]
        )
      } {(total.)}
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)