タグ

xargsに関するgouei2001のブックマーク (3)

  • 検索してファイルを消す時に高速に行う方法 - Qiita

    「プロフェッショナル イチロースペシャル」を見て 真っすぐに自分と向き合う姿にホレた千葉です。 今日は、あるファイルを検索して消す時に、高速になる方法です。 ##find + xargs = 高速 速い find /XXXX/XXXX/*.txt -type f | xargs rm -rf 遅い find /XXXX/XXXX/*.txt -type f -exec rm -rf {} ¥; 消すファイル数が多ければ多い程、xargsを使った方が速い。 なぜなら、 「-exec」を使用すると、内部的には見つけたファイルに対して毎回rmを行う。 「xargs」を使用すると、内部的にはコマンド1発で終了。 例えば、 ###「-exec」 find /XXXX/XXXX/*.txt -type f -exec rm -rf {} ¥; は、内部的にはこう

    検索してファイルを消す時に高速に行う方法 - Qiita
  • findの結果をtarファイルに纏める。xargsは使わないよ。 - 戯言

    結論としては、以下のコマンドを使用します。 find . -name "log*" -print0 | tar -cvz -T - --null -f /tmp/log01.tar.gz 大量ファイルをtar化するときに、よく困るのはコマンド内のワイルドカードを展開した文字列が長すぎて、コマンドラインのバッファがオーバーフローして、コマンドを実行できないというもの。 例えば、 tar cvzf /hoge.tar.gz log* などとしても、ファイル名がlogで始まるファイルが大量にあると、実行できない。list too long みたいなことを言われます。これは、ワイルドカードが展開されると、 tar cvzf /hoge.tar.gz log00001.html log00002.html ・・・・・・ などとなって、コマンド長の制限を超えるためです。 そこで、xargsコマンドを使

  • 【Linux】複数あるファイルの中から特定の文字列を検索するコマンド

    複数あるファイルの中から特定の文字列を検索したいときのLinuxコマンド。 $ find ./ -type f -print | xargs grep 'hoge' 【上記コマンドの説明】 find find の次で指定したディレクトリ以下のファイルを検索する。 ファイル検索の構文は「find [path] [検索条件] [アクション]」 — ./ 今いるディレクトリ以下が検索対象。「~/」とするとホームディレクトリ以下が検索対象となる。 ./ の代わりにフルパスでも可。この場合も指定したディレクトリ以下が検索対象になる。 — -print 検索結果を標準出力する。このとき結果をフルパスで表示する — -type f 指定したファイルタイプを検索する。fが通常ファイルを,cまたはdとするとディレクトリを,lとするとシンボリック・リンクを検索します。 — xargs 標準入力からコマンドライ

    【Linux】複数あるファイルの中から特定の文字列を検索するコマンド
  • 1