tr
このコマンドを使用して、1行または一連の行の大文字と小文字を変更できますかed
?それとも別の方法がありますか?
答え1
一部の外部ユーティリティを介して一連の行をフィルタリングするのは簡単ではありませんed
。これは少なくとも3つのコマンドセットで実行され、一時ファイルを使用する必要があります。
utility
外部フィルタが呼び出され、そのフィルタを介して20〜30行をフィルタリングするとします。
フィルタリングしたい行はアドレス指定に使用されます20,30
。まず、フィルタに次の行を作成し、出力をtmp
(すべての名前)というファイルに保存します。
20,30 w !utility >tmp
その後、バッファの行を結果出力ファイルの行に置き換えることができます。
20,30 d
20- r tmp
このコマンドは最初にフィルタ処理された行を削除し、次にutility
行20の後に結果データを挿入します(20-
と同じです。コマンドは指定されたファイルからテキストを挿入します)。19
r
後ろに処理される行)。
ed
これを組み合わせrlwrap
て実行しやすくするためのReadlineマクロのいくつかを作成すると、よりきれいにすることができますが、私はそれを調べる人ではありません。ex
外部フィルタを使用する必要があるテキスト編集を実行し、そのために行エディタを使用したい場合は、エディタを同様のものに変更する方がより現実的なアプローチかもしれません。