(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:awkscript)
          op: assign_op.Equal
          rhs: {(DQ (/tmp/newdf.) ($ Id.VSub_Dollar '$$'))}
          spids: [8]
        )
      ]
    )
    (C {(trap)} {(DQ ('rm -f ') ($ Id.VSub_DollarName '$awkscript'))} {(EXIT)})
    (command.Simple
      words: [{(cat)}]
      redirects: [
        (redir.HereDoc
          op: (Token id:Id.Redir_DLess val:'<<' span_id:27)
          fd: -1
          here_begin: {(SQ (Token id:Id.Lit_Chars val:EOF span_id:30))}
          here_end_span_id: 62
          stdin_parts: [
            ('function showunit(size)\n')
            ('{ mb = size / 1024; prettymb=(int(mb * 100)) / 100;\n')
            ('  gb = mb / 1024; prettygb=(int(gb * 100)) / 100;\n')
            ('\n')
            ('  if ( substr(size,1,1) !~ "[0-9]" ||\n')
            ('       substr(size,2,1) !~ "[0-9]" ) { return size }\n')
            ('  else if ( mb < 1) { return size "K" }\n')
            ('  else if ( gb < 1) { return prettymb "M" }\n')
            ('  else              { return prettygb "G" }\n')
            ('}\n')
            ('\n')
            ('BEGIN { \n')
            ('  printf "%-37s %10s %7s %7s %8s  %-s\\n",\n')
            ('        "Filesystem", "Size", "Used", "Avail", "Capacity", "Mounted"\n')
            ('}\n')
            ('\n')
            ('!/Filesystem/ {\n')
            ('\n')
            ('  size=showunit($2); \n')
            ('  used=showunit($3); \n')
            ('  avail=showunit($4);\n')
            ('\n')
            ('  printf "%-37s %10s %7s %7s %8s  %-s\\n",\n')
            ('        $1, size, used, avail, $5, $6\n')
            ('}\n')
          ]
        )
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:33)
          fd: -1
          arg_word: {($ Id.VSub_DollarName '$awkscript')}
        )
      ]
    )
    (command.Pipeline
      children: [(C {(df)} {(-k)}) (C {(awk)} {(-f)} {($ Id.VSub_DollarName '$awkscript')})]
      negated: F
    )
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:77) arg_word:{(0)})
  ]
)