このsedコマンドは何をしますか?

このsedコマンドは何をしますか?

誰かがsedこのコマンドが何を達成しようとしているのかを説明できますか?

sed 's/^[[:space:]]*//;s/[[:space:]]*$//

行の先頭で空白文字を検索することを知っていますが、何をすべきかわかりません。//;s/[[:space:]]*$//

答え1

これには2つのコマンドがありますssedセミコロンで区切られたコマンドのリストを使用できます。次のように同じ内容をスクリプトファイルに入れることができます。

s/^[[:space:]]*//
s/[[:space:]]*$//

また、sコマンドを誤って解析しましたs探す、これは変える:2つのパラメータ、一致する文字列と()で置き換える文字列を使用しますs/find/replace/

だから、s/^[[:space:]]*//それは意味します

s                (substitute)
/^[[:space:]]*/  (leading whitespace)
//               (with an empty string)

2番目のコマンドのs/[[:space:]]*$//意味末尾のスペースを空の文字列に置き換える

答え2

私が知っている限り、これは単なる代替チェーンです。まず、先行スペースをすべて削除し、続いて適用してすべての末尾s/^[[:space:]]//スペースs/[[:space:]]$//を削除します。

関連情報