update.はじめに久々の投稿です。この間初めてシェル芸勉強会に参加しました。祭りがあったので、便乗してコマンド作ってみました。sedコマンドはあるけど他のコマンド無いよ〜><;って言う謎状態に陥らないとも限らないので必見です。(きっとおそらく多分)簡単順に出してます。解説が雑なところなどは気が向き次第ちょくちょく更新しますのでお待ちいただければなと。紙とペンを用意したほうが頭に入って来やすいと思います。ページがいい教科書になると思います。実行環境は以下のとおりです。sh.shスクリプトファイルの実行です。実行権限??なにそれ美味しいの?ただし環境変数等は引き継がれない恐れあり。コマンドで実行しています。ようなもので、文字列そのもの(置換後含め)をコマンドとして実行できるものとなります。版では一切の記述なし。eval.awkはい。何も余計なことはするなと言うことです。こちらに置き換えてお考えください。バックスラッシュで遊びたい変態(褒め言葉)シェル芸人にはあまり向いていないようで、完全互換とはいかないようです。持つ機能と同等であると考えられます。置換されるといった感じです。/g'ハードタブをスペースに展開するコマンド。スペース4個で置換しました。'$!d'いや〜、うまく短くならない。挙動が異なってしまうので、こうするしかありませんでした。現在の行数を、入力行の1行前に追加します。オプションで本文の出力は抑制。'/9999/!d'マッチする行以外は削除、という極めてシンプルなやり方です。パターンマッチができます。'/9999/d'上と真逆のことをすればオーケー。'$d'とりあえず1文字ごとに改行文字を追加しています。オプションが付いたもの。いう怪しげなものは「行番号を左揃えで出しましょう」というものになっています。'1!G;h;$!d'こんなのすぐに書ける気がしない...脳みそを柔らかくすれば理解は出来るはず。<<<y無限ループ(無条件ジャンプ)を使っています。コマンドの使用は避ける。出力を停止するコマンド。コマンドをもじったものの組み合わせ。してみると分かるんですが、完全にモジュール化してますね。キーボードはあるけど数字キーが無いよ〜><;という方にも、以下のワンライナーがあれば怖くありません。2つ同時にマッチさせてます。スラッシュがなくなるまでループ。-一応説明ですが、入力を横に並べられるコマンドです。使ってもほぼ同様にできます。やるとこんな感じです。コマンドは次の行をパターンスペースに追加するもの。文末の改行を削除・置換できないのでこのような措置を取りました。/;ba'ループとの組み合わせです。イディオム(?)コマンドではないですが一応。以下の出力を得ることを目的とします。21436587109通常は以下のワンライナーで動かすでしょう。-n1これについて作っていきます。