Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> シードモードスペースと予約スペース  

sedエディタはファイルを1行ずつ処理して画面に出力します。 sedコマンドは現在処理されている行をパターンスペースに読み込み、sedはその行にあるすべてのコマンドを実行した後に処理された行を画面に出力します(前のコマンドがその行を削除しない限り)。行を処理した後、その行はパターンスペースから削除され、次に次の行が処理および表示のためにパターンスペースに読み込まれます。ファイルの最後の行を処理した後、sedは終了します。 Sedは一時バッファ(モード空間

シードモードスペースと予約スペース  

sedエディタはファイルを1行ずつ処理して画面に出力します。 sedコマンドは現在処理されている行をパターンスペースに読み込み、sedはその行にあるすべてのコマンドを実行した後に処理された行を画面に出力します(前のコマンドがその行を削除しない限り)。行を処理した後、その行はパターンスペースから削除され、次に次の行が処理および表示のためにパターンスペースに読み込まれます。ファイルの最後の行を処理した後、sedは終了します。 Sedは一時バッファ(モード空間

  
55 Sed‘ {N; s /\\ n /\\ t /;}’

1 111111111111 aaa

2 222222222222 bbb

3 333333333333 ccc

4 444444444444 ddd

5 555555555555 eee

6 666666666666 fff

末尾2行に相当する出力ファイルの最後の2行

sed‘ {$ !N; $!d;}’データファイル

555555555555 eee

666666666666 fff

sed‘ {$!N; $!d;}’:ファイルの2行目から最後の行の前の行で、Nが現在の行の次の行をパターンスペースに追加した後、Dはパターンスペースの内容を削除し、2行目から最後の行に達すると最後の行を最後の番号に追加します。 2行目より下では、最後の行はdを実行しません(選択された行では! - ここで最後の行になり、行は行の外側で実行されます)。

ファイルの行を逆順に表示します。tacコマンドと同じです。

sed‘ {1!G; h; $!d;}’ datafile

666666666666 Fff

555555555555 eee

444444444444 ddd

333333333333 ccc

222222222222 bbb

111111111111 aaa

1!G最初の行を除いて他の行がGコマンドを実行することを示し、$!dは最後の行を除いて他の行がdコマンドを実行することを意味します。

コマンドの実行中にsed‘ {1!G; h; $!d;}’予約済みスペースとスキーマスペースが変更されていることを確認します。

空間モードスペースを維持するための行コマンドの処理

1行目h; d実行前:null実行後:aaa \\ n実行前:aaa \\ n実行後:null

2行目G; h; d実行前:aaa実行後:bbb \\ n1111 \\ n実行前:bbb \\ n実行後:null

Copyright © Windowsの知識 All Rights Reserved