NoPaste

crypto_Tabelle.sh

von rendegast
SNIPPET_DESC:
stellt /proc/crypto tabellenartig dar, Test auf 'mktemp'
SNIPPET_CREATION_TIME:
17.02.2017 13:41:16
SNIPPET_PRUNE_TIME:
Unendlich

SNIPPET_TEXT:
  1. #!/bin/sh
  2. #20170216, 20170217
  3.  
  4. which mktemp 2>/dev/null  ||  exit 0
  5. TMPd=$(mktemp -d)
  6. LONG=0
  7.  
  8. (
  9.     cd $TMPd
  10.  
  11.     cat /proc/crypto | csplit - '/^name/' {*} > /dev/null
  12.  
  13.     erst=$(ls -1 | head -n1)
  14.     [ -s $erst ] || rm $erst
  15.  
  16.     ls -1 | while read XX; do
  17.         LONG=$(cat $XX | awk -F: '{print $2}' | wc -L)
  18.         sed -i "
  19.            s@ *: *@=\"@
  20.            s@\(=.*\)\$@\1\"@
  21.            s@^min @min_@
  22.            s@^max @max_@
  23.            " $XX
  24.  
  25.         name=--         ; driver=--
  26.         module=--       ; priority=--
  27.         refcnt=--       ; selftest=--
  28.         internal=--     ; type=--
  29.         blocksize=--    ; digestsize=--
  30.         min_keysize=--  ; max_keysize=--
  31.         ivsize=--       ; geniv=--
  32.         . ./$XX
  33.         echo "
  34. $name
  35. $driver
  36. $module
  37. $priority
  38. $refcnt
  39. $selftest
  40. $internal
  41. $type
  42. $blocksize
  43. $digestsize
  44. $min_keysize
  45. $max_keysize
  46. $ivsize
  47. $geniv
  48. " | while read LINE; do printf "%-${LONG}s\n" "$LINE"; done > .X$XX
  49.     done
  50.  
  51.     echo "
  52. name
  53. driver
  54. module
  55. priority
  56. refcnt
  57. selftest
  58. internal
  59. type
  60. blocksize
  61. digestsize
  62. min_keysize
  63. max_keysize
  64. ivsize
  65. geniv
  66. " | while read LINE; do printf "%-16s\n" "$LINE"; done > .X00
  67.  
  68.     paste -d " " .X* > .Y
  69.     cat .Y
  70. )
  71.  
  72. rm -rf $TMPd

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN