더욱 강력한 sed로 grep을 대체

sed 4.2.2가 나왔는데, 차기버젼 우분투에 포함될것으로 보입니다.
i386 패키지: [url:1hwu3ryl]https://launchpad.net/ubuntu/saucy/i386/sed/4.2.2-1ubuntu1[/url:1hwu3ryl]
amd64 패키지: [url:1hwu3ryl]https://launchpad.net/ubuntu/saucy/amd64/sed/4.2.2-1ubuntu1[/url:1hwu3ryl]

sed 4.2.2는 미구현된 F명령과 z옵션이 추가되어 있습니다.

F명령은 현재 파일명을 출력합니다. 이것은 grep을 대체하기에 좋습니다.

for f in $(find ~/bin -maxdepth 1 -type f);
do
head -1 $f | grep "^#!\S+bash" >/dev/null 2>&1 && echo $f
done

==> sed -snr ‘1{/^#!\S+bash/F}’ $(find ~/bin -maxdepth 1 -type f)

-s : 파일들을 합치지 않고, 개개별로 명령 실행

-n : 자동출력금지

-r : 정규표현식 확장

명령 F : 파일명 출력
명령 z : 전체버퍼비움

z옵션은 아스키코드0=\x00=\0000을 행분리자로 인식해서 처리합니다.
echo -e "1\x002"|sed -z ‘s/^/x/g’
결과는 x1x2