我想将以 开头的一堆文件中的评论收集#
到仅包含评论的文件中。我可以这样做:
find . -type f -exec grep '^#' {} > /path/to/comment/storage/{}
非常简单。但是,这非常浪费,因为它会grep
为每个文件分叉,并创建大量空文件。grep -R '^#' .
会好得多,但我该如何处理它的输出?类似的东西export IFS=:;grep -R '^#' .|while read -r file contents; do echo $file-$contents; done
是一个有希望的开始,但是当内容本身也包含冒号时,这就会崩溃。它还面临着正确创建和附加到每个文件的挑战。
作为额外的限制,这需要以busybox
shell / awk / 等形式运行,GNU 实用程序不可用。