sed
追加オプション
サーチ…
構文
- -a - (BSD sed)処理前に書き込まれたすべてのファイルの作成/切り詰め
- -E | -r - 拡張正規表現を使用する
- -i | -I - インプレース編集のトピックを参照してください。
- -l - (BSD sed)ラインバッファ出力を使用する
- -l length - (GNU sed)
lコマンドラインラップの長さを指定する - -s - (GNU sed)ファイルを別々のストリームとして扱う
- -u - 出力をバッファしません。
- -z - (GNU sed)NUL文字を使ってレコードを区切ります
- --quiet | --silent - (GNU sed)
-n類義語 - --expression = command - (GNU sed)
-e同義語 - --file = command_file - (GNU sed)
-f同義語 - --follow-symlinks - (GNU sed)シンボリックリンクに従う
- --in-place [= extension] - (GNU sed)
-i同義語 - --line-length = length - (GNU sed)
-l同義語 - --separate - (GNU sed)
-s同義語 - --unbuffered - (GNU sed)
-u同義語 - --null-data - (GNU sed)
-z同義語 - --help - (GNU sed)印刷の使用法
- --version - (GNU sed)印刷版
備考
-Eオプションは、次のメジャーバージョンで標準化される予定です。 関連する問題を参照してください。
遅延の作成/ファイルの切り捨て
wコマンドで書き込まれたファイルは、コマンドが実行される前に作成/切り捨てられます。
$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file
標準から:
各wfileは、処理が始まる前に作成されます。実装はスクリプト内で少なくとも10個のwfile引数をサポートしなければならない。実装でサポートされている実際の数(10以上)は指定されていません。 wfileパラメータを使用すると、そのファイルが最初に作成されます(存在しない場合)。または既存のファイルの内容を置き換えます。
BSD sedは、 wコマンドで書かれるまでファイルの作成/切り詰めを遅らせる-aオプションを提供します。
$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
> echo The file was not created
> fi
The file was not created
'l'ラインラッピング
lコマンドを使用するときの行折り返しの長さは、実装定義です。
標準から:
長い線は折り畳まれ、aの後にaが書かれて示される折りたたみの点がある。折り畳みが起こる長さは不特定であるが、出力装置に適しているはずである。
GNU sedはlコマンドで印刷するときに長い行を分割する長さを指定する-lオプションを提供します。デフォルトは70文字です。
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
51
BSD sedは、環境変数COLUMNSによって与えられた数で長い行を分割します。もしCOLUMNSが与えられていなければ、それは端末の幅で分割され、 COULMNSが与えられず出力が端末でない場合、デフォルトは60文字になります。
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
y y y y y y y y y y $
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow