edstr 使用方法



【機能概要】
 文字列の編集を行います。
【実行形式】
    edstr [-tC] [-b[c1c2]] [-r replace] [-R rfile] [-e extract] [{string | -f file}]

【パラメータ】 
     -tC   文字列を分ける文字をCで指定します。
           タブの場合には、'\t'と指定します。
           省略した場合、スペースやタブとなります。
           この場合、連続したスペースやタブは1つとみなします。
       行の先頭にこの文字がある場合には、一番目の文字列はNULLとなります。

           '<'または'>'の文字を指定する場合には、"-t<"または"-t>"というように'"'で囲って下さい。
           このようにしないと、ファイルからの入力になったり、ファイルに出力されます。

     -b[c1c2]
           フィールドを括る開始文字c1と終了文字c2を指定します。
           もしそれらの文字を省略した場合には、'"'となります。

     -r replace  
           置換指定文字列をreplaceで指定します。
           これは次の形式となります。
            [(no1)]from1:[to1][,[(no2)]from2:[to2]]...

            (no)    no番目のデータの文字列を指定します。
                    
            from    {$^|$$|$A|$a|$s|$d|$D|$f|$g|$c|$x|?|(word)|x|\x}...
                    $^:行頭と一致
                    $$:元の文字列
                    $A:英数字列
                    $a:英字列
                    $s:スペース
                    $d:数字列
                    $D:1〜9の数字列
                    $f:0〜9,e,E,+,-,'.'の並び
                    $g:図形文字列(' 'を除く印字文字列,ただしASCIIに限る)
                    $c:制御コード列(0x00〜0x1f,0x7fのコード列)
                    $x:16進コード文字列(0〜9,a〜f,A〜Fからなる文字列)
                    ?:任意の文字
                    (word):語word(直前、直後は英数字、全角以外の文字)
                    x:文字x
                    \x:文字x

            to      {$$|$l|$u|$A|$a|$s|$d|$D|$f|$g|$c|$x|string}...
                    $$:from
                    $l:小文字に変換
                    $u:大文字に変換
                    $A,$a,$s,$d,$D,$f,$g,$c,$x:一致時、fromとの対応によって設定された各値
                    string:$を含まない文字列(ただし\xxとなる)
     -R rfile
           置換指定文字列replaceをファイルから読み込みます。

     -e extract
           出力する文字列をextractで指定します。
           これは次の形式となります。
 
           {$no|$(no1[-no2)|$*|$$|x}...
             $no:no番目の文字列,
             $(no1[-no2]):
                no1番目の文字列からno2番目までの文字列
                ただしこの場合、各文字列は詰められて出力されます。
             $*:全ての文字列(この場合も各文字列は詰められて出力されます)
             $$:最後の文字列
        x :文字x

           このオプションを省略した場合には、置換された文字列をそのまま出力します。

    {string | -f file}
           編集対象を指定します。
           stringは文字列、"-f file"はファイルが対象。
           このパラメータを省略した場合は標準入力の文字列となります。
 
【補足説明】
 文字コードはSJISであることが仮定されています。
   
【実行例】    
 ・edstr -r $d:ABC 123                     ... ABC
 ・edstr -r $x:$u 12aBcDefgh               ... 123ABCDEFgh
 ・edstr -r "$a:$u,CHAR:char" cHaR         ... char
 ・edstr -e "$1 $(3-4)" "1 2 3 4"          ... 1 34
 ・edstr -e $* "1 2 3 4"                   ... 1234
 ・edstr -t\ -e $$ abc\def\gh              ... gh
 ・echo 1 2 3 4 | edstr -e $2,$3           ... 2,3 
 ・edstr -r $d:ABC                         ... 使用誤り。[Ctrl]+[C]で終了して下さい。
 ・edstr -f file > file                    ... 使用誤り。この場合、fileは壊れてしまいます。
 ・edstr -r "\\:/" -f file                 ... fileの中の'\'を'/'に置き換えます。
 ・edstr -r "/:\" -f file                  ... "…"の文字列の最後が'\'で終わっている場合、
                                               "…"が閉じられません。
                                               この場合、標準入力からのデータ待ちとなっ
                                               てしまうので、[Ctrl]+[C]で終了して下さい。
 ・edstr -r "(abc):#" abc:abcd,abc,_abc    ... #:abcd,#,_abc
 ・edstr -r "$x:,=:X\:$x*Y" 123ab=ABC123   ... X:ABC123*Y
 ・edstr -R file1 -f file2
 ・edstr -t, -b -r (3)$$:$$\, -f file      ... fileの各行の3番目のデータの後に、','を挿入します。
                                               ただし、"…"の中は一つのフィールドとみなします。
 ・edstr "-t<" -r "(3)ALIGN=\"CENTER\":" -f abc.htm
                                           ... abc.htmというファイルの中の4番目のタグの
                                              「ALIGN="CENTER"」という属性を削除します。

ホームページへ