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

推薦する

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

MLSQL スタックでストリームのデバッグを簡単にする方法

序文クラスメートが MLSQL Stack のストリーミング サポートを調査しています。そこで、フロ...

Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル

目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...

Ubuntu で中国語入力方法が使えない場合の解決策

Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...

Linux で TCP 接続の最大数をテストする方法

序文TCP サーバの最大同時接続数に関して、「ポート番号の上限が 65535 であるため、TCP サ...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル (Windows の場合)

この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

Tomcat のパフォーマンス最適化のための Apr モジュールの構築方法

序文Tomcat は、無数のチューニング オプションを備えた、広く使用されている Java Web ...

ネイティブJavaScriptカルーセル実装方法

この記事では、JavaScriptカルーセルの実装方法を参考までに紹介します。具体的な内容は次のとお...

CSS変数がJSインタラクティブコンポーネント開発にもたらす改善と変更のサンプルコードの詳細な説明

1. CSS変数がもたらす質的変化CSS 変数によってもたらされる改善は、CSS コードの節約や C...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

MySQLデータの同時更新を処理する方法

UPDATE はロックしますか?以下のような場合、SQL文はロックされますか? テーブル1を更新しま...

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

ログインインターセプションを実装するためのVueルーティング

目次1. 概要2. ログインインターセプションを実装するためのルーティングナビゲーションガード1. ...

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...