stdout
次のテキストブロックがたくさんあります。
% QUESTION
Who played drums for The Beatles?
% QUESTION
Who played
guitar
for The Beatles?
% QUESTION
Who played
bass for The Beatles
?
ここでのアイデアは、ファイルが「チャンク」に分割され、各チャンクが1行で始まるということです% QUESTION
。このデータのn番目のチャンクを印刷するスクリプトを作成したいと思います。
たとえば、配布はnthchunk 3
印刷する必要があります。
Who played
bass for The Beatles
?
どうすればいいですか?
ベストアンサー1
awk
正規表現をレコード区切り文字 ( ) としてサポートするRS
実装 (例: GNU) では、awk
次のことができます。
awk -v n=3 -v RS='(\n+|^)% QUESTION\n' 'NR == n+1 {print; exit}' < questions.txt