fgrep行頭?
Fgrep Beginning Line
解決:
GNUを使ってPCREサポートを使用してビルドされた場合のgrep
$ stringには含まれていません
E、あなたはすることができます:
grep -P '^ Q $ string'とperlのrindex:
perl -sne'print if rindex($ _、$ string、0)== 0 '--- string =' $ string 'とawk:
S = $ string awk'index($ 0、ENVIRON ['S'])== 1 '
データが非常に大きい場合は、grepは、awkなどのより柔軟なツールよりも高速である可能性があります。私がすることは、テキスト内の特殊文字を引用して呼び出すことですグリップ。
pattern = $(printf '%s n' '$ literal_text' | sed's / [ [。* ^ $] / \&/ g ')grep' ^ $ pattern 'my-big-fileテキストにASCII文字のみが含まれている場合は、文字セットをCに設定して、grepがバイトのみに関係するようにします。一部の実装(GNU grepの多くのバージョンなど)では、マルチバイト文字によって速度が大幅に低下する可能性があります。
LC_CTYPE = C grep '^ $ pattern' my-big-file正確な行全体を検索する場合は、そのためのオプションがあります。grep -Fx -e '$ literal_text'。ただし、これは正確に指定されたテキストで構成される行にのみ一致し、指定されたテキストで始まる行に一致する同様の方法はありません。
とawk
awk -vword = 'miss。' 'index($ 0、word)== 1'ファイル複数の単語の場合
awk'BEGIN {for(i = 2; i 私も空想このためのPython python3 -c'sys.stdinの行のsyswords = tuple(sys.argv [1:])をインポートします:print(line if line.startswith(words)else ''、end = '') '