最初の一致の後、特定の行から始まり、2 つの一致の間の特定の行範囲を印刷します。

最初の一致の後、特定の行から始まり、2 つの一致の間の特定の行範囲を印刷します。

最初のゲームの後、特定の行から始めて、2つのゲーム間のすべてのデータをどのように印刷できますか?たとえば、2つのパターンLinuxがあり、これら2つの単語の間に項目があり、単語の後の特定の行(以下の例ではLinuxの後の6行目、単語まで)のUnixデータを印刷したいとします。LinuxUnix

Linux
12
32
34
556
676
77
85434
rdb
232323
232435656
Unix
98736
4345
4546456
456

予想出力:

85434
rdb
232323
232435656

awk、sed、および grep を使用してこの操作をどのように実行できますか?

ベストアンサー1

相手のアドレス指定が表示されるたびに、手を伸ばして探してみる必要がありますed

echo '/Linux/+7,/Unix/-1p' | ed -s input_file.txt -

または整理として:

ed -s input_file.txt - <<\EOF
/Linux/+7,/Unix/-1p
EOF

おすすめ記事