多くのファイルを含むディレクトリがあります*.org
。整理されたすべてのファイルからテキストを選択したいと思います。* Learnings
内容にタイトルがあります。* Learnings
ファイルの先頭から最後まで選択したいと思います。
私の現在の試みは
find ~/org/journal -name "*.org" -type f | xargs sed -n -e '/\*\ Learnings/,$p'
ただし、これはリンクされたストリームのみを出力します。
* Learnings
予想される出力は、クエリから返された各ファイルのヘッダーの後に続くコンテンツストリームです。
また、ソリューション確かに使用すべきsed
ベストアンサー1
GNU実装では、akaオプションを使用して各ファイルを個別に処理sed
できます。-s
--separate
find . -name '*.org' -type f -exec sed -s '/\* Learnings/,$!d' {} +
そしてawk
:
find . -name '*.org' -type f -exec awk '
FNR == 1 {found = 0}; /\* Learnings/ {found = 1}; found' {} +