さまざまなコマンドによるパイプライン文書の断片

さまざまなコマンドによるパイプライン文書の断片

$$$さまざまなコマンド(修飾子と共に)を介して記事の一部を送信したい(たとえば、エスケープシーケンスが利用可能)。標準入力は対応する標準出力に置き換えられます。 (必要に応じて、sedを使用して非常に具体的な修飾子を削除するのに十分簡単です。)

私はPythonでこれを行うことができると思います。しかし、私が知らない特別なUNIXツールや技術が90%のトリックをエレガントに実行できるかどうか疑問に思います。

具体的には、次の文書を検討してください。

$$$ figlet -f script
Title
$$$

Now it's time to visualize the cosine function:

$$$ gnuplot
set terminal dumb
plot cos(x)
$$$

Finally, a simple directed graph:

$$$ graph-easy
digraph G {
A -> B;
}
$$$

私のプログラムを実行した後、次のようになります。

 ______     _
(_) |o     | |
    |  _|_ | |  _
  _ ||  |  |/  |/
 (_/ |_/|_/|__/|__/


Now it's time to visualize the cosine function:


    1 ++----------***--+---------------****---------------+--***----------++
      +          *   * +               * +*               + *cos(x) ****** +
  0.8 ++        *    *                *    *                *    *        ++
      |         *     *               *     *               *    *         |
  0.6 ++        *     *              *      *              *     *        ++
      |        *       *             *      *             *       *        |
  0.4 ++       *       *             *       *            *        *      ++
      |       *        *            *        *            *        *       |
  0.2 ++      *         *           *         *           *        *      ++
      |       *         *          *          *          *         *       |
    0 ++      *          *         *          *          *          *     ++
 -0.2 ++     *           *         *          *         *           *     ++
      |      *            *        *           *        *            *     |
 -0.4 ++    *             *       *            *       *             *    ++
      |     *             *      *              *      *             *     |
 -0.6 ++    *             *      *               *     *              *   ++
      |    *               *    *                *    *               *    |
 -0.8 *+  *                 *   *                *   *                 *  +*
      +* *             +    *  *         +        *  *    +             * *+
   -1 +***-------------+-----**----------+---------**-----+-------------***+
     -10              -5                 0                5                10


Finally, a simple directed graph:

+---+
| A |
+---+
  |
  |
  v
+---+
| B |
+---+

どんなアイデアでも大いに感謝します。心から感謝して応援します!

ベストアンサー1

そして&(のためここにある文字列 <<<特徴):

awk '
    /^\$\$\$/{
        sub(/\$\$\$/, "")
        cmd=$0
        next
    }
    { arr[cmd]=arr[cmd] $0";"}
    END{
        for (a in arr) {
            if (a ~ ".") {
                exe=sprintf("%s", a " <<< \042" arr[a] "\042" )
                system(exe)
            }
            else{
               print arr[a]
            }
        }
    }' file

出力:

    1 ++----------***--+---------------****---------------+--***----------++
      +          *   * +               * +*               + *cos(x) ****** +
  0.8 ++        *    *                *    *                *    *        ++
      |         *     *               *     *               *    *         |
  0.6 ++        *     *              *      *              *     *        ++
      |        *       *             *      *             *       *        |
  0.4 ++       *       *             *       *            *        *      ++
      |       *        *            *        *            *        *       |
  0.2 ++      *         *           *         *           *        *      ++
    0 ++      *         *          *          *          *         *      ++
      |       *          *         *          *          *          *      |
 -0.2 ++     *           *         *          *         *           *     ++
      |      *            *        *           *        *            *     |
 -0.4 ++    *             *       *            *       *             *    ++
      |     *             *      *              *      *             *     |
 -0.6 ++    *             *      *               *     *              *   ++
      |    *               *    *                *    *               *    |
 -0.8 *+  *                 *   *                *   *                 *  +*
      +* *             +    *  *         +        *  *    +             * *+
   -1 +***-------------+-----**----------+---------**-----+-------------***+
     -10              -5                 0                5                10

;;;Now it's time to visualize the cosine function:;;;Finally, a simple directed graph:;;
+---+
| A |
+---+
  |
  |
  v
+---+
| B |
+---+
 ______     _       
(_) |o     | |     o
    |  _|_ | |  _   
  _ ||  |  |/  |/   
 (_/ |_/|_/|__/|__/o
                   /

ちょっとした修正だけであなたのニーズに100%適していると、それほど問題はありません。

おすすめ記事