CSHFT テキストコード変換を行う

書法

CSHFT [filename]* [option]*

SHELLMODE

@記述、!記述、^記述

詳細

ファイルにコード変換を施して出力する。
複数ファイルを指定するとそれらを連結して処理する。 ファイル名を省略すると標準入力を取り扱う。

通常は、日本語モードで処理を行い、不正な漢字シーケンスは除去される。 英語モードでの処理を指定できる(-B)が、特殊な場合以外は用いるべきではない。 どちらの場合も行単位で処理し、行末のない行は行が補完される。 行末以外の0x0dは除去される。

オプション(-C)によって、ファイルでなく、パラメータを直接処理できる。 常に日本語処理モードで処理する。

マクロ

コード変換は-Fオプションに与える文字列。 一文字が一つの機能を表し、順番に実行される。

.空行は出力しない
,tabファイルをcsvに変換
^行頭スペース切り詰め
切り詰めの対象は、全角スペース、半角スペース、タブ
$行末スペース切り詰め
切り詰めの対象は、全角スペース、半角スペース、タブ
(行頭スペース切り詰め
切り詰めの対象は、半角スペース、タブ
)行末スペース切り詰め
切り詰めの対象は、半角スペース、タブ
[行頭の半角スペースだけを切り詰め
]行末の半角スペースだけを切り詰め
Eタブ圧縮
Tタブを展開する
P不正な制御コードを押さえる(0x0a,0x09以外)
0半角英数ページ・制御コードだけを通す(0x00-0x7f)
N半角数字・制御コードだけを通す
#半角数字・-・.・制御コードだけを通す
1半角文字・制御コードだけを通す
2全角文字・制御コードだけを通す
C半角小文字を半角大文字に変換
U半角大文字を半角小文字に変換
J半角を全角に変換
A全角を半角に変換
H全角カタカナを全角平仮名に変換
K全角平仮名を全角カタカナに変換
L全角小文字を全角大文字に変換
S全角大文字を全角小文字に変換
X全角スペースを2半角スペースに変換
Y2半角スペースを全角スペースに変換
_半角スペースの連続を一文字の半角に圧縮
!tab,eolを除く制御コードを半角スペースに変換
Q単引用符で囲む(')
D引用符で囲む(")
-全体を囲む引用符をはずす
/\を/に変換する
\ /を\に変換する
&&、<、>を それぞれ&amp;、&lt;、&gt;に変換
txtをhtmlに変換する場合に便利
*&、<、>行末をそれぞれ &amp;、&lt;、&gt;、,<BR>に変換
行末では改行する
V正規検索用に変換(対象:\^$.*+?[]-)
B英語処理での特殊コード変換
0x00-0x7fに収まらない特殊コードのいくつかを 処理している
RC言語での文字列中に書けるように変換する。 行末の改行コードの扱いをオプション指定できるが、 改行そのものは必ず出力する。 制御コードの一部は、\xNNの形で出力するが、 オプション(-3)で、\x0NNの形式に変更できる。

OPTION

-3
マクロRで16進数は3桁出力(デフォルトは2)
-B
英語処理モードに切り替える。通常は使わない方が良い。
-C
パラメータ(ファイル名に相当)を処理する。
-E
ファイル末の強制改行を抑制する。(暫定機能)
-Fstr
変換マクロを記述
-Lnum
行の幅を目安に作業領域を設定。KB単位。デフォルトは30KB程度
-Ofilename
指定のファイルに出力を切り替える
-R[-|R[-]]
マクロRで行末の取扱を指定。
-R\n 0x0a
-R-\n
-RR\r\n 0x0a
-RR-\r\n
-Tnum
タブ展開/圧縮するときのタブ幅。デフォルトは、8

用例

参考

バージョン

Ver 1.00初版