次のコマンドの出力は?
echo hello | sed 's/l/L/'正答
- heLLo
- heLlo
- hello
- HELLO
解説
sed の s/旧/新/ は、行ごとに最初に一致した箇所だけを置き換える。hello には l が 2 つあるが、置換されるのは 1 つ目なので heLlo になる。すべてを置き換えて heLLo にするには末尾に g フラグを付けて s/l/L/g と書く。選択肢 4 の HELLO のように大文字化する機能は s コマンドには無く、tr a-z A-Z などを使う。
参考: www.gnu.org
この問題を含む Linux・シェル のテストを制限時間つきで解く
Linux・シェルクイズへ