Linux テキスト検索コマンド find の詳細な使用方法

Linux テキスト検索コマンド find の詳細な使用方法

find コマンドは主にディレクトリやファイルを検索するために使用され、一致のために複数のパラメータを指定できます。

使用方法: find +查找路徑 +命令參數 [輸出形式]

検索パス:検索する場所を指定します

コマンド パラメータ:タイプ、名前、サイズ、変更時刻などのさまざまな属性を含む、検索するファイル属性を指定します。

よく使用されるパラメータ:

  • -name ファイル名で検索
  • -user ファイルの所有者で検索
  • -mtime はファイルの変更時間で検索します。-n はファイルの変更時間が今日から n 日以内であることを意味し、+n はファイルの変更時間が今日から n 日以上であることを意味します。
  • -type ファイルタイプで検索します。d はディレクトリ、f はファイル、l はシンボリックリンクファイルを意味します。
  • -size ファイルサイズで検索(単位 K、M、G を追加する必要があります)、+n M は n M より大きいファイルを検索することを意味します。
  • -maxdepth は、ファイルを検索するときの最大深度を指定します (デフォルトでは、指定されたパスの下のすべてのサブディレクトリを検索します。深度を指定すると、第 1 レベルのディレクトリまたは第 2 レベルのディレクトリのみを検索できるようになります)

出力形式:出力形式はオプションです。出力形式には、見つかったコンテンツを印刷する -print (デフォルトでは見つかったコンテンツを印刷するため、通常は使用されません) と、見つかったコンテンツをさらに処理する -exec (より一般的に使用されます) があります。形式は次のとおりです。

-exec Linuxコマンド {} \; {}は見つかったコンテンツを表します

例:

find . -maxdepth 1 -name "1.txt" # 検索するファイル名を直接指定します。-maxdepth 1 は、最大検索レベルが第 1 レベルのディレクトリであることを意味します。 

find . -maxdepth 1 -name "*.txt" # 現在のディレクトリで .txt で終わるファイルを検索します

find . -maxdepth 1 -name "[0-9].txt" # 数字で名前が付けられたtxtファイルを検索

find . -maxdepth 1 -name "[0-9]*.txt" # 数字で始まるファイルを検索

find . -maxdepth 1 -mtime -5 # 現在のディレクトリで 5 日以内に変更されたファイルを検索find . -maxdepth 1 -mtime +5 # 現在のディレクトリで 5 日以上変更されたファイルを検索find . -maxdepth 1 -type d # 現在のディレクトリでディレクトリ タイプのファイルを検索します。最大検索レベルは 1 ディレクトリです (隠しディレクトリも検索されます) 

find . -maxdepth 1 -size +10M # 現在のディレクトリで 10M より大きいファイルを検索 find . -maxdepth 1 -size -1M # 現在のディレクトリで 1M より小さいファイルを検索

find . -maxdepth 1 -name "[az].txt" -exec rm -rf {} \; # 1 文字で名前が付けられた txt ファイルを検索して削除します find . -maxdepth 1 -name "*.txt" | xargs grep "error" # txt で終わるファイル内の error のある行の内容を出力します find . -maxdepth 1 -name "*.txt" | xargs rm # 現在のディレクトリ内の txt で終わるファイルを削除します

xargsはパイプラインの前のコマンドの実行結果を、パイプラインの後のコマンドにパラメータとして1つずつ渡します。

ls [az].txt | xargs -n1 -i{} mv {} {}.bak # 現在のディレクトリにある 1 文字で名前が付けられた txt ファイルに .bak サフィックスを追加します。-n1 はオブジェクトを 1 つずつ処理することを意味します。-i{} は前のオブジェクトを {} に置き換えます。mv {} {}.bak は mv a.txt a.txt.bak と同じです。 

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux での透過的巨大ページの使用と無効化の概要
  • Linux での Python のアップグレードと pip のインストールの詳細な説明
  • Linux シェル ディレクトリ内のファイルを検索するために、if と組み合わせた for ループを使用する方法
  • Linuxで現在のスクリプトの実際のパスを取得する方法
  • Linuxはlsofコマンドを使用してファイルのオープンステータスを確認します
  • Linux 仮想メモリ設定のチュートリアルと実践
  • Linux での grep コマンドの使い方の詳細な説明
  • Linuxのテキスト処理コマンドsortの詳細な説明
  • Linuxのsortコマンドの複数のパラメータを理解するための1つの質問
  • Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

<<:  CocosCreatorでクールなレーダーチャートを描く方法

>>:  Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順

推薦する

Docker チュートリアル: コンテナの使用 (簡単な例)

Docker を初めて使用する場合は、コンテナの管理を始めるために習得する必要がある基本的なコマン...

jQueryとCSSを組み合わせてトップに戻る機能を実現

CSS操作 CS $("").css(名前|プロ|[,値|関数]) 位置$(&q...

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScri...

Ajax リクエストにおけるクロスドメイン問題の原因と解決策

目次1. クロスドメインはどのように形成されるのでしょうか? 2. クロスドメインの根本的な原因3....

dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明

問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

MySQLデータベースがNULLを可能な限り避ける理由

MySQL の多くのテーブルには、NULL が列のデフォルト属性であるため、アプリケーションが NU...

MySQL ステートメントにおける IN と Exists の比較分析

背景最近、SQL 文を書くときに、IN と Exists のどちらを選択するか迷ったので、両方の方法...

MySQL ビューの原則分析

目次更新可能なビュービューのパフォーマンスビューの制限ビューは MySQL 5.0 以降で導入されま...

React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセス

最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...

ウェブページデザインのための4つの実践的なヒント

関連記事: Web コンテンツ ページを作成するための 9 つの実用的なヒント<br />...

よくある MySQL 設計エラーをご存知ですか?

インターネットの発達により、バスを待ったり地下鉄に乗ったりする時間など、断片的な時間を活用して、いつ...

JavaScriptプロトタイプチェーンを理解する

目次1. プロトタイプとプロトタイプチェーンの平等関係を理解する2: プロトタイプとプロトタイプ チ...

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

このポイントのJavaScriptの基本

目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...