sed
私はそれを使用してファイルから数行を提供したいと思います。私は私が知っているファイルの特定の部分からのみこの行を抽出したいと思います。たとえば、100行のファイルがあり、10行と30行の特定のパターンを持つ行を探しています。
現在の解決策は、2つのsed
コマンドを使用することです。最初のコマンドは、私が持っている行番号間のすべての内容を印刷します。
sed -n "10,30p" target_file.file
2番目はパターンを使用してこの結果を取得します。
sed -n '/pattern/p'
だから結局私はこれを持っています:
sed -n "10,30p" target_file.file | sed -n '/pattern/p'
両方のコマンドから1つのコマンドを生成する方法はありますか?
答え1
あなたはできます:
$ sed -n '10,30{
/pattern/p
}' <file
これは現在の標準構文です。以下も使用できます。
$ sed -n '10,30{/pattern/p;}' <file
次のPOSIXバージョンで。