Linuxオペレーティングシステムは、ファイルとディレクトリの両方で特定のテキスト文字列を検索するためのサポートを提供します。テキスト文字列を検索するための最も一般的なツールの1つは、grepです。 Grepを使用すると、ユーザーはファイルやディレクトリ内で正規表現を使用して任意のパターンを検索できます。ただし、grepにはいくつかの制限があります。最適化されていない汎用ツールです。これは、Ackツールが役立つ場合があります。 Ackツールは、プログラムのソースコードを検索するための開発者向けに特別に設計されています。 Ackツールはgrepよりも高速であり、検索結果から特定の出力を除外できます。
この投稿では、LinuxでAckコマンドをインストールして使用する方法を紹介します。
前提条件
- Atlantic.NetクラウドプラットフォームでLinuxを実行しているサーバー
- サーバーで構成されているrootパスワード
Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したLinuxオペレーティングシステムを選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
LinuxにAckをインストールする
DebianおよびUbuntuベースのディストリビューションの場合、次のコマンドを使用してAckツールをインストールします。
apt-get install ack-grep -y
RHEL、Fedora、およびCentOSベースのディストリビューションの場合、次のコマンドを使用してAckツールをインストールします。
dnf install ack-grep -y
インストール後、次のコマンドを使用してAckのバージョンを確認します。
ack --version
次の出力が得られます:
ack 2.22 / usr / bin/perlCopyrightのPerl5.26.1で実行2005-2017AndyLester。このプログラムは自由ソフトウェアです。 ArtisticLicensev2.0の条件に基づいて変更または配布することができます。
Neovimソースコードをダウンロード
Ackコマンドの使用方法を示すために、Gitリポジトリからneovimソースコードをダウンロードします。
次のコマンドを実行して、neovimソースをダウンロードします。
git clone https://github.com/neovim/neovim.git
ダウンロードが完了したら、ディレクトリをダウンロードしたソースに変更し、すべてのファイルを一覧表示します。
cd neovimls neovim
次の出力にすべてのファイルが表示されます。
BACKERS.md CMakeLists.txtCONTRIBUTING.mdmanスクリプトサードパーティBSDmakefilecodecov.ymlLICENSE.txtパッケージスナップunicodeciconfigMAINTAIN.md README.md srccmakecontribMakefileランタイムテスト
ディレクトリ内のファイルの総数を検索する
Ackコマンドを使用して、リポジトリ内にあるファイルの数を確認できます。
ack -f | wc -l </ pre>次の結果が得られます:
2899Ackコマンドを使用して文字列パターンを検索する
Ackコマンドは、特定のパターンを検索し、部分的または完全に一致するデータを見つけることができます。
たとえば、「制限」という文字列を検索するには リポジトリ内の」で、次のコマンドを実行します。
ack制限次の結果が得られます:
Ackコマンドを使用して文字列パターンの単語を検索する
結果に完全に一致するものを表示したい場合は、 -wを使用してください オプション:
ack -wrestrict次の出力が得られます:
ご覧のとおり、Ackコマンドは制限を検索します。 完全な単語として。特定のファイルタイプから文字列パターンを検索する
Python、C、Vimなど、特定のファイルタイプで特定の文字列を検索する場合は、–python、–c、または–vimオプションを使用できます。
たとえば、「制限」という文字列を検索するには 」Pythonファイル内でのみ、次のコマンドを実行します。
ack -w--pythonrestrict次の出力が得られます:
文字列検索の合計発生数をカウントする
指定された文字列の合計出現回数をカウントする場合は、 -cを使用します Ackコマンドのオプション。
ack -crestrict次の出力が得られます:
文字列「restrict<」の合計出現回数を表示する場合/ strong> 出力の「」で、次のコマンドを実行します。ack -chrestrict次の出力が得られます:
232検索の速度を確認したい場合は、次のコマンドを実行します。
time ack-chrestrict次の出力が得られます:
232real 0m0.631suser 0m0.551ssys 0m0.076s特定のファイルタイプを検索
Ackコマンドは、指定されたディレクトリから特定のファイルタイプを見つけることもできます。
たとえば、現在のディレクトリ内のすべてのPythonファイルを検索するには、次のコマンドを実行します。
ack -f --python次の出力ですべてのPythonファイルを取得します:
src / clint.pysrc / nvim / testdir / pyxfile / py2_magic.pysrc / nvim / testdir / pyxfile / py3_magic.pysrc / nvim / testdir / pyxfile / py3_shebang.pysrc / nvim / testdir / pyxfile / pyx.pysrc / nvim /testdir/pyxfile/py2_shebang.pysrc/nvim/testdir/test_makeencoding.pycontrib/gdb/nvim-gdb-pretty-printers.pycontrib/YouCompleteMe/ycm_extra_conf.pyscripts/stripdecls.pyscripts/gen_help_html.pyscripts/check-includes.pyscripts/ .pyscripts / gen_vimdoc.py結論
この投稿では、LinuxでAckコマンドをインストールして使用する方法について説明しました。 Ackは、複数のプロジェクトを処理する際の開発者にとって非常に便利で柔軟な検索ツールです。 Atlantic.NetからVPSホスティングを今すぐ始めましょう!
Linux