Rコマンド

大文字のRコマンドは、現在のパターンスペースの後ろにファイルや標準入力の内容を1行追加し、次のサイクルでは次の行を追加していく。


標準入力とファイル入力を交互に読み込む

Rコマンドによって、入力と指定ファイルを1行ずつ交互に読み込むといったことができる。これ需要あるのかな?

FILE

ファイル1行目
ファイル2行目
input='1行目
2行目
3行目'

# アドレスなし(標準入力全体が対象)
# 標準入力とファイルを交互に読み込む
echo "$input" | sed 'R FILE'

出力はこうなる。

1行目
ファイル1行目
2行目
ファイル2行目
3行目

入力が終了すると当然、指定ファイルの残りの行は処理されない。逆に指定ファイルが最終行に達しても、入力の残りはそのまま処理される(エラーにならない)。

rコマンドのように、指定ファイルの代わりに/dev/stdin(標準入力)も指定できる。