(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:awkscript)
          op: Equal
          rhs: {(DQ (/tmp/newdf.) ($ VSub_Dollar '$$'))}
          spids: [8]
        )
      ]
      spids: [8]
    )
    (C {(trap)} {(DQ ('rm -f ') ($ VSub_Name '$awkscript'))} {(EXIT)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          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 op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$awkscript')})
      ]
    )
    (Pipeline
      children: [(C {(df)} {(-k)}) (C {(awk)} {(-f)} {($ VSub_Name '$awkscript')})]
      negated: F
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)