ファイルのリストをgrepコマンドからターゲットディレクトリにコピーしています

ゲイターバック

コマンド:

grep -rl "KORD" ./

ディレクトリを検索し、ファイルの内容に「KORD」を含むファイルのリストを返します(タイトルではありません)。

Users-MacBook-Air:myPhotorec user$ grep -rl "KORD" ./
.//output_apikey.txt
.//recup_dir.17/f13470392.txt
.//recup_dir.49/f45361992.txt
.//recup_dir.49/f45362424.txt
.//recup_dir.53/f48768408.txt
.//recup_dir.53/f49295480.txt

grepコマンドを拡張して出力ファイルリストをコンソールに出力し、各ファイルをディレクトリにコピーする優先コマンド(xargs?)はありますか?./ ORD?

「猫の皮を剥ぐ」には複数の方法があると思います。複数の解決策を見るのを楽しみにしています。

JOHN1024のXARGSソリューション

ラベルが重複しているため、この変更された投稿を回答として投稿できません。

試してみてください:

grep -rl --null --include '*.txt' KORD . | xargs -0r cp -t /path/to/dest

このコマンドはNUL区切りを使用するため、空白、タブ、さらには改行を含む難しい名前のファイルを含むすべてのファイル名に対して安全です。

上記にはGNUが必要cpです。BSD / OSXの場合は、次を試してください。

grep -rl --null --include '*.txt' KORD . | xargs -0 sh -c 'cp "$@" /path/to/dest' sh

使い方:

  1. grep オプションと引数

    • -rディレクトリ構造を再帰的に検索するようにgrepに指示します。(FreeBSDでは、-rディレクトリへのシンボリックリンクをたどります。これは、OS / Xまたは最近のバージョンのGNUには当てはまりませんgrep。)

    • --include '*.txt'名前がglobと一致するファイル*.txt.foo.txtまたはのような非表示のファイルを含む.txtのみを返すようにgrepに指示します

    • -l 一致するファイル自体ではなく、一致するファイルの名前のみを返すようにgrepに指示します。

    • --null ファイル名を区切るためにNUL文字を使用するようにgrepに指示します。

    • LINUX/UNIX 内容に正規表現が含まれているファイルのみを検索するようにgrepに指示します LINUX/UNIX

    • .現在のディレクトリを検索します。最近のバージョンのGNUgrepでは省略できますが、で始まるファイル名を防ぐ--ためcpオプションターミネータを渡す必要があります-

  2. xargs オプションと引数

    • -0 XargsにNULで区切られた入力を期待するように指示します。

    • -r少なくとも1つのファイルが見つからない限り、コマンドを実行しないようにxargsに指示します。(このオプションはBSDまたはOSXのどちらでも必要ではなく、OSXと互換性がありませんxargs。)

    • cp -t /path/to/destディレクトリをターゲットディレクトリにコピーします。-tGNUが必要cpです。)

クサラナンダ
find . -type f -exec grep -q 'KORD' {} ';' -exec cp {} ./ORD ';'

これにより、現在のディレクトリ内またはその下にあるすべての通常のファイルが検索されます。grep -q 'KORD'各ファイルで実行され、一致する行を含むファイルがディレクトリにコピーされ./ORDます。

GNU coreutilsがインストールされている場合は、もう少し効率的に使用できます。

find . -type f -exec grep -q 'KORD' {} ';' -exec cp -t ./ORD {} +

参照:`find`の-execオプションを理解する

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

バッチスクリプトを使用して、特定のファイルをソースディレクトリからターゲットディレクトリおよびサブディレクトリにコピーします

分類Dev

ディレクトリスタック内のディレクトリから現在のディレクトリにファイルをコピーします

分類Dev

.csprojのMsBuildとdotnetpackコマンドを使用して、Nugetパッケージから出力ディレクトリにファイルをコピーします

分類Dev

ファイル構造を使用して、C#でソースディレクトリからターゲットディレクトリにすべてのファイルをコピーします

分類Dev

ビルド後にファイルをターゲットディレクトリにコピーします

分類Dev

cmdコマンドを使用してディレクトリから別のディレクトリにファイルをコピーする

分類Dev

スクリプトディレクトリからすべてのユーザーのデスクトップにファイルをコピーします

分類Dev

単一のコマンドでUNIXファイルシステムにJARを抽出し、JARコマンドを使用してそのターゲットディレクトリを指定するにはどうすればよいですか?

分類Dev

ターミナルコマンドを使用して、上位Xファイルをディレクトリから別のディレクトリにコピーするにはどうすればよいですか?

分類Dev

メインバンドルからドキュメントディレクトリ(サンドボックス)にファイルをコピーします

分類Dev

ホストからDockerコンテナの作業ディレクトリにファイルをコピーしています

分類Dev

すべての親ディレクトリのプレフィックスを追加してファイル名を変更し、サブディレクトリとサブサブディレクトリからメインディレクトリにすべてのファイルをコピーします

分類Dev

ANTを使用して、ローカルディレクトリからマップされたドライブにファイルをコピーします

分類Dev

マルチパターンのファイルをディレクトリから別のディレクトリにコピーしようとしていますか?

分類Dev

Javaで上書きする代わりに、あるディレクトリから別のディレクトリにファイルをコピーし、タイムスタンプ付きの新しいファイルを追加します

分類Dev

ディレクトリ内のすべてのファイルをコピーし、すべてのSCSSファイルをコンパイルし、他のファイルはそのままにしておくというgulpタスクですか?

分類Dev

gradleを使用して、ソースディレクトリのリストの下にあるファイルをターゲットディレクトリにコピーします

分類Dev

一意のファイルをあるディレクトリから別のディレクトリにコピーするUnixコマンド

分類Dev

Composerを使用して、パッケージからプロジェクトのルートディレクトリにファイルをコピーします

分類Dev

ディレクトリプレフィックス名に基づいてファイルを検索し、ディレクトリにコピーします

分類Dev

複数のファイルをコピーし、同時にターゲットディレクトリを作成しますか?

分類Dev

ディレクトリツリーから1つのディレクトリにすべてのファイルをコピーします

分類Dev

シェルスクリプトを使用してディレクトリからホームディレクトリにファイルを移動すると、スタンドアロンコマンドとして機能します(.shファイルの外部と同様)。

分類Dev

Rails 4とペーパークリップ-:originalスタイルのファイルのアップロードを停止して、S3リモートディレクトリからコピーします

分類Dev

テキストファイルのリストに基づいて一連のディレクトリからファイルをコピーする

分類Dev

コマンドラインからファイル/ディレクトリをコピーして貼り付けます

分類Dev

ソースディレクトリからビルドディレクトリにhtmlファイルをコピーします

分類Dev

既存のディレクトリから新しくマウントされたディスクにファイルをコピーする

分類Dev

Bash / Shell-すべてのファイルをサブディレクトリからターゲットディレクトリに移動しますか?

Related 関連記事

  1. 1

    バッチスクリプトを使用して、特定のファイルをソースディレクトリからターゲットディレクトリおよびサブディレクトリにコピーします

  2. 2

    ディレクトリスタック内のディレクトリから現在のディレクトリにファイルをコピーします

  3. 3

    .csprojのMsBuildとdotnetpackコマンドを使用して、Nugetパッケージから出力ディレクトリにファイルをコピーします

  4. 4

    ファイル構造を使用して、C#でソースディレクトリからターゲットディレクトリにすべてのファイルをコピーします

  5. 5

    ビルド後にファイルをターゲットディレクトリにコピーします

  6. 6

    cmdコマンドを使用してディレクトリから別のディレクトリにファイルをコピーする

  7. 7

    スクリプトディレクトリからすべてのユーザーのデスクトップにファイルをコピーします

  8. 8

    単一のコマンドでUNIXファイルシステムにJARを抽出し、JARコマンドを使用してそのターゲットディレクトリを指定するにはどうすればよいですか?

  9. 9

    ターミナルコマンドを使用して、上位Xファイルをディレクトリから別のディレクトリにコピーするにはどうすればよいですか?

  10. 10

    メインバンドルからドキュメントディレクトリ(サンドボックス)にファイルをコピーします

  11. 11

    ホストからDockerコンテナの作業ディレクトリにファイルをコピーしています

  12. 12

    すべての親ディレクトリのプレフィックスを追加してファイル名を変更し、サブディレクトリとサブサブディレクトリからメインディレクトリにすべてのファイルをコピーします

  13. 13

    ANTを使用して、ローカルディレクトリからマップされたドライブにファイルをコピーします

  14. 14

    マルチパターンのファイルをディレクトリから別のディレクトリにコピーしようとしていますか?

  15. 15

    Javaで上書きする代わりに、あるディレクトリから別のディレクトリにファイルをコピーし、タイムスタンプ付きの新しいファイルを追加します

  16. 16

    ディレクトリ内のすべてのファイルをコピーし、すべてのSCSSファイルをコンパイルし、他のファイルはそのままにしておくというgulpタスクですか?

  17. 17

    gradleを使用して、ソースディレクトリのリストの下にあるファイルをターゲットディレクトリにコピーします

  18. 18

    一意のファイルをあるディレクトリから別のディレクトリにコピーするUnixコマンド

  19. 19

    Composerを使用して、パッケージからプロジェクトのルートディレクトリにファイルをコピーします

  20. 20

    ディレクトリプレフィックス名に基づいてファイルを検索し、ディレクトリにコピーします

  21. 21

    複数のファイルをコピーし、同時にターゲットディレクトリを作成しますか?

  22. 22

    ディレクトリツリーから1つのディレクトリにすべてのファイルをコピーします

  23. 23

    シェルスクリプトを使用してディレクトリからホームディレクトリにファイルを移動すると、スタンドアロンコマンドとして機能します(.shファイルの外部と同様)。

  24. 24

    Rails 4とペーパークリップ-:originalスタイルのファイルのアップロードを停止して、S3リモートディレクトリからコピーします

  25. 25

    テキストファイルのリストに基づいて一連のディレクトリからファイルをコピーする

  26. 26

    コマンドラインからファイル/ディレクトリをコピーして貼り付けます

  27. 27

    ソースディレクトリからビルドディレクトリにhtmlファイルをコピーします

  28. 28

    既存のディレクトリから新しくマウントされたディスクにファイルをコピーする

  29. 29

    Bash / Shell-すべてのファイルをサブディレクトリからターゲットディレクトリに移動しますか?

ホットタグ

アーカイブ