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 をインストールする詳細な手順

推薦する

MySQL マルチバージョン同時実行制御 MVCC の基本原理の分析

目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...

React 入門レベルの詳細なメモ

目次1. Reactの基本的な理解1. はじめに2. Reactの特徴3. Reactが効率的な理由...

ノードにおけるhttpモジュールの使用と実行プロセス

ノードにおけるhttpの役割は何ですか? httpモジュールの役割は、サーバーの作成と記述を支援する...

tinyMCEの使い方と体験の詳細な説明

tinyMCE の使用方法の詳細な説明初期化TinyMCE を初期化するときは、ページの HEAD ...

MySQLのストレージエンジンについてお話しましょう

基礎リレーショナル データベースでは、各データ テーブルはファイルに相当し、異なるストレージ エンジ...

ウェブページ作成のヒントのまとめ

序文この記事は主に、日常の Web ページ制作で遭遇する問題解決スキルの一部をまとめ、皆さんの参考と...

jsはユーザーのページ操作を記憶するためにクッキーを使用します

序文開発プロセスでは、ブラウザレベルでユーザーが実行した操作を記憶するなど、同様の要件に遭遇すること...

Linux で PHP curl 拡張機能をインストールする方法の詳細な説明

この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...

MySQL で主キーと ROWID を使用する際の落とし穴の概要

序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...

フロントエンド開発者のための HTML 入門

1 HTML入門1.1 初めてのコード体験、最初のウェブページの作成XML/HTML コードコンテン...

nginx ロードバランシングを介して https にリダイレクトする方法

ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...

jsはクリックしてカードを切り替える機能を実現します

この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有してい...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

Vueでスワイパープラグインを使用する際の問題を解決する

デモを作成するときにこのプラグインを使用していくつか問題が発生したため、プラグインの使用方法といくつ...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...