grep
たとえば、行 1000 から行 2000、行 1000 まで、または行 1000 から大きなファイルの特定の部分を取得するにはどうすればよいですか? ファイルを小さなファイルに分割したくありません。
質問する
589 次
3 に答える
2
sed
@ravoori によるソリューションのマイナーな改善として、を にリファクタリングgrep
しますsed
。
sed '1000,$/pattern/!d;2000q' file.txt
変数にパターンがある場合は、二重引用符を使用します。
sed '1000,$/'"$pattern"'/!d;2000q' file.txt
または Awk で同等に:
awk 'NR==2000{exit(0)}NR>=1000 && /pattern/' file.txt
または変数を使用して
awk -v pat="$pattern" 'NR==2000{exit(0)}NR>=1000 && $0~pat' file.txt
于 2013-05-16T16:33:51.480 に答える
1
私は提案します
head -2000 FILE.TXT | tail -1000 | grep XXX
head
巨大なファイルを読み取る必要がなく、最初の数千行だけを読み取る必要があるため、最も適切なソリューションとして。それは本質的q
にsed
ソリューションで何をするかを達成します。
于 2013-05-16T17:25:51.953 に答える