last updated:2025/09/28
秀丸エディタでは「プログラム実行」を使うことにより、標準入力・標準出力を利用するプログラムを利用して、テキストを加工できます。
昔はlinuxのような便利なコマンドが少なくて活用しづらい機能でしたが、現在はWindowsでも便利なコマンドが増えたり、 PowerShellが導入されたことで色々な編集に活用できます。
メニューの「その他→プログラム実行」から使用できます。
「プログラム実行」で標準入出力を使うを使う方法は、2通りあります。
「第II部〜知っていると便利な秀丸の機能 プログラム実行」にある、以下の項目を参照してください。
どちらの方法を使うかは、実行するプログラムや、編集しているファイルの文字コードによります。
開いているファイルが「Shift_JIS」で、標準入力と標準出力の文字コードが「Shift_JIS」で動作するプログラム (もしくは、入出力のエンコードが起動オプションで指定可能なプログラム)である場合は、"<con" ">con" を使うのが簡単です。コマンドラインに「 <con >con」と付けて実行することで、外部プログラムの標準入力に現在の選択範囲を渡し、標準出力を選択範囲に出力できます。
実行するプログラムが、標準入出力の文字コードとしてUTF-8を期待する場合や編集しているファイルに「Shift_JISに含まれない文字」がある場合は、
"<con"、">con" は使わないでください。Shift_JISへの変換時にデータ欠落する場合があります。
その場合は、「オプション」-「詳細設定」を有効にしエンコードを指定してください。
OSに標準であるコマンドでの実行例です。
"<con" ">con" を使っているので、「詳細設定」を有効にする場合は、「標準入力」「標準出力」も有効にし「自動」を選んでください。
"PowerShell" の実行ファイル名は Ver.6 以降 "pwsh.exe" になっています。 PowerShell Ver.6 以降を使う場合は、 "PowerShell" を "pwsh" に読み替えて実行してください。
sort /R <con >con
sort /+5 <con >con
findstr /I "hoge" <con >con
$input は powershellの自動変数で、渡されたすべての入力を列挙する列挙子が格納されます。
(標準入力の内容が入っている)
1
2
3
4
5
powershell -c "1..5 | %{\"{0:000}:\" -f $_ }" >con
001:
002:
003:
004:
005:
$input は powershellの自動変数で、渡されたすべての入力を列挙する列挙子が格納されます。
(標準入力の内容が入っている)
逆順にソートしたい場合は、Sort-Object のオプションに -descending を指定します。
powershell -c "$input|Sort-Object -descending { $_.Length }" <con >con