web-dev-qa-db-ja.com

行から始まるUnix猫

特定の行(70000のような大きな数字)から始まるファイルから出力する最良の方法は何ですか。何かのようなもの:

cat --line=70000 <file>
40
vonhogen

テールをより正確に見てみましょう、それは--lines = + Nスイッチです:

tail --lines=+100 <file>
60
Svend

最も明白な方法はtailです。構文は、使用しているOSによって若干異なる場合があります。

tail -n +70000

tailが機能しない場合は、sedを使用できますが、遅くなる可能性があります。

sed -pe '1,69999d'
22
Chris Johnsen

行番号の代わりに、特定の$phraseを含む行からリストを開始する必要がある場合は、以下を試してください。

more -1000 +/"$phrase" yourfilename | sed '1,4d'

-1000は、最大1000行のテキストを継続的にリストします。必要に応じてこれを変更できます。 sedコマンドは、moreによって自動的に挿入された出力の最初の4行を切り捨て、空白行、メッセージ「...スキップしています」、および前の2行を含みます意図されたスタートライン。これはあなたのシステムによって異なると思います。

2
AlohaUnixFan

[〜#〜] nr [〜#〜]パラメータをawkコマンドで使用できます:

cat <file> | awk '{if (NR>=7000) print}'
2
Gefolge