HTML

Magyar HPC

hardcore tudományos blog a magyar HPC-ről és sok-sok okosságról és a digitális középkorról 2000 óta Ez nem a gyolcs közt volt, hanem külön összehajtva más helyen.

2011 (11) 2012 (3) 7m (8) ab initio (2) amiga (2) animgif (2) apple (3) armin (2) ascii (2) bash (2) berlin (2) budapest (3) castlevania (2) divat (3) dk (6) encfs (2) eye (2) fortran (2) google (2) hell (4) hpc (26) kazinczy (4) kritika (2) linux (2) magyarok (31) mix (8) norway (6) osx (37) pixel (2) ps3 (5) pug (2) python (6) rt (5) sgi (3) shell (6) skynet (3) ssh (3) suse (2) techno (5) trance (5) watson (2) zene (3) FELHŐ

20110327

A szuperszámítógép tökéletes beállítása 13

Címkék: python shell hpc

Egyszerű INI értelmező is kell a dologhoz, így nem lesz gond a pythonos cuccokkal sem. Nyilván a korábbi szótár függvénnyel kell kombinálni és jó lesz a dologból.

#/// \fn sp_f_ii
#/// \brief ini file to dictionary
#///
#/// \param 1 CHARACTER(*) section header
#/// \param 2 CHARACTER(*) path of the ini file
#///
#/// http://docs.python.org/library/configparser.html
#/// only single line entries are supported without % resolving
function sp_f_ii() {
  local _h="${1:-${sp_g_bn}}"
  local _p="${2:-./${sp_g_bn%%sh}ini}"
  cat "${_p}" | \
  awk -v h="${_h}" '
  BEGIN {
    inh = 0;
    aas = "{";
    fir = 1;
    kc = 0;
  }
  {
    # section header
    if( match( $0, "^[[:space:]]*\\[[[:space:]]*[[:alnum:]._-]+[[:space:]]*\\][[:space:]]*$" ) ) {
      # trim
      gsub("^[[:space:]]*\\[[[:space:]]*", "" )
      gsub("[[:space:]]*\\][[:space:]]*$", "" )
      # match
      if( match( $0, "^" h "$" ) ) {
        inh = 1;
      }
      else {
        inh = 0;
      }
    }
    # in section
    if( inh ) {
      # match key :/= val pairs
      if( match( $0, "[=:]") ) {
        # split
        split( $0, a, "[[:space:]]*[:|=][[:space:]]*" )
        # trim
        gsub("^[[:space:]]*","",a[1])
        gsub("^[[:space:]]*","",a[2])
        # store
        if( ! fir ) {
          aas = aas "," a[1] ":" a[2];
        }
        else {
          aas = aas a[1] ":" a[2];
        }
        fir = 0;
        ++kc;
      }
    }
  }
  END {
    aas = aas "}";
    print aas;
    if( kc )
      exit 0;
    exit 1;
  }'
}

 

over the hills and faraway

Szólj hozzá!

A bejegyzés trackback címe:

https://mhpc.blog.hu/api/trackback/id/tr82729742

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása