区切り文字の間の行を抽出する
hoge.txtの内容のうち、区切り文字を「#turtle.hoge2」として、区切り文字間の行を抽出するコマンド
$ cat hoge.txt #turtle.hoge1 0000 #turtle.hoge1 111111 #turtle.hoge2 222222 333333 444444 #turtle.hoge2 555555 #turtle.hoge3 6666666 #turtle.hoge3 $ grep -A 1000 '#turtle.hoge2' hoge.txt | grep -B 1000 '#turtle.hoge2' | grep -v '#turtle.hoge2' 222222 333333 444444
区切り間の文字を抽出して、さらに、以下を行う。
- 行をソート
- 行のセパレータ文字「=」の2フィールド目以降を取得
- 結果を出力
$ cat hoge2.txt #turtle.hoge1 0000 #turtle.hoge1 111111 #turtle.hoge2 key.0001=value.0001 key.0003=value.0003 key.0002_2=value.0002_2 key.0002_1=value.0002_1 #turtle.hoge2 555555 #turtle.hoge3 6666666 #turtle.hoge3 $ grep -A 1000 '#turtle.hoge2' hoge2.txt | grep -B 1000 '#turtle.hoge2' | grep -v '#turtle.hoge2' | sort | cut -d'=' -f2- value.0001 value.0002_1 value.0002_2 value.0003