なぜか ubntu再インストールした後 tags.shがおかしい
xargsが悪さをしているようだ。 execにかえる。
#!/bin/sh
#find . -name \*.lisp -print | xargs -0 grep -E -o -dskip "\.\.\.\." | tags.pl| sort | uniq > tags
#find . -name \*.lisp -print | xargs -0 grep test
# -dskip [デェレクトリです] の表示を消す
# -E 正規表現を使う -o マッチした該当箇所のみ表示
# \*[^*]{1,10}\*' **で囲まれた1以上10以下の文字列
# -name *.* というパターンのファイルをすべて表示する
# -0 xargsでは ' "が特別の意味をもつらしい。それを無効にする
# 空白、タブ、と改行は、シングルクォート (`` ' '') またはダブルクォート
# (``"'') またはバックスラッシュ (``\'') を使用して引数に埋め込まれます。シ
# ングルクォートは、シングルクォートに一致するまで、改行を除いて、シングル
# クォートでないすべての文字をエスケープします。ダブルクォートは、ダブル
# クォートに一致するまで、改行を除いて、ダブルクォートでないすべての文字を
# エスケープします。改行を含んで、あらゆる単一の文字は、バックスラッシュに
# よってエスケープされます。
#
# オプションは、次の通りです:
#
# -0 空白と改行の代わりにセパレータとしてヌル文字 (``\0'') とするよう
# に xargs を変更します。find(1) の -print0 関数と合わせて使用され
# ることが期待されます。
##find . -name \*.* -print | xargs grep -E -o -dskip '\*[^*]{1,10}\*' | tags.pl > tags sort tags | uniq > tags
find . -name \*.* -print -exec grep -E -o -dskip '\*[^*]{1,10}\*' {} + | tags.pl | sort | uniq > tags
~
0 件のコメント:
コメントを投稿