Linuxのfindコマンドは、コマンドラインでの検索に最適ですが、専用のツールの方が便利な場合もあります。そのようなケースの1つは、特定の単語で始まるファイル内の行を見つけることです。 lookと呼ばれるコマンドがあります -それはあなたのためにこれを行います。
このチュートリアルでは、わかりやすい例を使用してこのコマンドについて説明します。ただし、その前に、記事のすべての例がUbuntu18.04LTSマシンでテストされていることを言及する価値があります。
Linuxルックコマンド
Linuxのlookコマンドは、指定された文字列で始まる行を表示します。その構文は次のとおりです。
look [-bdf] [-t termchar] string [file ...]
そして、このツールについてのマニュアルページの内容は次のとおりです。
The look utility displays any lines in file which contain string as a
prefix.
If file is not specified, the file /usr/share/dict/words is used, only
alphanumeric characters are compared and the case of alphabetic charac?
ters is ignored.
以下は、lookコマンドがどのように機能するかについての良いアイデアを与えるはずのQ&Aスタイルの例です。
Q1。 lookコマンドの使い方は?
簡単です。検索する単語と検索するファイルをlookコマンドへの入力として指定するだけです。
次に例を示します:
look The test.txt
上記のコマンドは、ファイル「test.txt」の「The」で始まる行を検索します。
参考までに、test.txtファイルは次のとおりです。
そして生成される出力は次のとおりです:
Q2。指定された文字列内で検索を絞り込む方法は?
lookコマンドを使用すると、終了文字を指定して検索を絞り込むこともできます。マニュアルページで-tオプションを説明する方法は次のとおりです。
-t, --terminate termchar>
Specify a string termination character, i.e., only the characters
in string up to and including the first occurrence of termchar
are compared.
このオプションをテストするために、test.txtをさらに数行更新しました。ご覧ください:
次に、次のコマンドを実行しました:
-t n Fund test.txt
を見てくださいしたがって、基本的には、「Fund」という単語で始まる行を検索するように求めていますが、「Fun」で始まる行も含めます。そして、これが出力です:
Q3。ルック検索では大文字と小文字が区別されますか?
はい、そうです。たとえば、次のコマンドを実行した場合(前回のQ&Aで使用したコマンドと同じですが、「fund」という単語の最初の文字の小文字を除いて):
-t n Fund test.txt
を見てください出力は生成されません。
ただし、-fオプションを使用すると、lookで大文字と小文字を区別しないように強制できます。
Q4。他に何に使用できますか?
lookコマンドを使用して、文字のセットで始まるすべての単語を検索できます。たとえば、すべての単語が文字シーケンス「love」で始まるものを確認するには、次のようにlookコマンドを使用します。
look love
出力例は次のとおりです。
つまり、全体として、lookは、少なくとも知っておく必要のある便利な小さなコマンドラインユーティリティです。いつそれがあなたにとって救世主になるかわからないからです。多くのコマンドラインオプションは提供されておらず、その大部分はすでにここで説明しています。外観の詳細については、manページにアクセスしてください。