最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別々に保存する必要があります。 Python の walk を使って実現することもできますが、少し複雑に感じます。そこで、Linux の組み込みコマンドでこのタスクを完了できるかどうかを確認したいと思います。 環境 検索対象となるディレクトリ構造は次のとおりです . |____test | |____test2.txt | |____test.py | |____test.txt | |____regex.py |____MongoDB | |____.gitignore | |____cnt_fail.py | |____db 目標1: すべてのpyファイル名を取得する find . -name '*.py'のみを使用して検索すると、結果はパスになります
ファイル名だけが必要な場合は、Linuxが提供するコマンドbasenameを使用できます。 basename を使用して find のすべての検索結果を処理するには、find のパラメータ -exec を使用する必要があります。 最後のコマンドは次のとおりです。 find . -name '*.py' -exec basename {} \; 結果:
{} は -exec オプションと組み合わせて使用され、すべての結果を照合してファイル名を抽出します。 目標 2: すべての py ファイル パスを取得し、重複を削除し、先頭の「./」文字を削除します。 Linuxにはファイルパスを取得するコマンドdirnameもあります 前のコマンドを少し変更して、すべてのファイルパスを表示します。 find . -name '*.py' -exec dirname {} \;
重複したパスがあることがわかります。Linux で重複を削除するには、sort を使用して -u パラメータを追加します。-u パラメータは、ソート結果の重複を削除するために使用されます。前のコマンドの出力を入力として sort に渡す必要があり、当然パイプが考えられます。 パイプ コマンド演算子は | であり、前のコマンドによって送信された正しい出力情報、つまり標準出力情報のみを処理できます。 ソートを追加した後のコマンドは
実行結果は次のとおりです。
最後に、cut を使用して各パスの前の ./ 文字を削除します。パラメータ -c3- は、文字列の 3 番目の文字 (開始位置は 1) から末尾までの部分文字列を抽出することを意味します。最後のコマンドは次のとおりです。 実行結果:
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
序文この記事では、TS の基本的な概念ではなく、プロジェクトで TypeScript (以下、TS ...
目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...
この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...
最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...
1. 古い仮想DOMと新しい仮想DOMを比較し、まずキーが同じかどうかを確認します。 2. 引き続...
Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...
1. テスト環境名前バージョンセント7.6ドッカー18.09.06 2. オンラインインストールここ...
キーボードで文字を入力すると、対応するプロセスにどのように送信されるのでしょうか? ps や who...
この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...
この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...
目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...
今日は618日、主要なショッピングモールはすべてプロモーション活動を行っています。今日は、次のように...
目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...
目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...
問題の説明: CSS アニメーション プロパティを使用すると、ループが最初に読み込まれたときに白いギ...