sedは文字列の後のすべてを削除しますか?

sedは文字列の後のすべてを削除しますか?

sedを使用して、次の行の残りの部分を削除してみました。 HTTP1.1" 200

二重引用符やスペースを含め、内容全体を文字列に一致させることをsedに理解させる方法がわかりません。

私は良い例を挙げたい:

"GET /images/loading.gif HTTP/1.1" 200 10819 "https://...

入力する

"GET /images/loading.gif HTTP/1.1" 200

ベストアンサー1

コマンドラインでsed(または他のほとんどのツール)を使用する場合は、文字列をスペースで引用符で囲む必要があります。すでに二重引用符を使用しているため、一重引用符を使用する必要があります。

echo '"GET /images/loading.gif HTTP/1.1" 200 10819 "https://...' | \
     sed 's|HTTP/1.1" 200.*|HTTP/1.1" 200|'

以下を提供します。

"GET /images/loading.gif HTTP/1.1" 200

おすすめ記事