[回答誤り?]コマ問LPIC101  「sedコマンドで末尾が特定の文字列であるものを置換する」問題について

この質問の投稿一覧へ

なし [回答誤り?]コマ問LPIC101  「sedコマンドで末尾が特定の文字列であるものを置換する」問題について

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2019-12-9 11:30 | 最終変更
chihaya2005  常連   投稿数: 13
「sedコマンドを使用して、「text」ファイルに含まれる全ての末尾が「.exe」という
文字列を「.sh」に置換したい。適切なコマンドは?」

上記設問の正解は「sed 's/\.exe/\.sh/g' text」となっていますが、
まずコマンド中に「末尾が.exeである」という指定が読み取れず、これでは
ファイル中にある全ての「.exe」が置換されるのではないかと考えました。

それでRHEL7系OSで試したところ、予想通りというか以下の結果でした。

----------------------------------------------------------
[hoge@LPIC]$ sed 's/\.exe/\.sh/g' text
file1.sh
execfile2
file3.sh.txt ←末尾ではない「.exe」も置換されている
file4.sh
file5exe
----------------------------------------------------------

どう見ても設問通りの結果になっていないように見えます。

最強WEB問題(選択式問題)ID:35871とほぼ同じ問題と見受けますが、こちらの正答は
「sed 's/\.exe$/\.sh/g' test.txt」です。
そしてこちらは意図したとおりの結果が得られました。

----------------------------------------------------------
[hoge@LPIC]$ sed 's/\.exe$/\.sh/g' text
file1.sh
execfile2
file3.exe.txt
file4.sh
file5exe
----------------------------------------------------------

この結果からコマ問の回答が正しくないように見えるのですが、ご確認いただけますでしょうか。

既出かもしれませんが、コマ問での問題IDの出し方がわからず、キーワード検索も
HITできなかったので質問してみました。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.