[解決済み] 検索 -exec cmd {} + vs | xargs
2022-08-12 03:10:33
質問
非常に大きなファイルの集合に対して、どちらがより効率的で、どちらを使うべきでしょうか?
find . -exec cmd {} +
または
find . | xargs cmd
(ファイル名に変な文字が含まれていないものとします)
どのように解決するのですか?
速度差はほとんどありません。
しかし、あなたはそれを確認する必要があります。
-
スクリプトは ファイル名にスペースやタブなどが含まれることはありません。 ファイル名にスペースやタブが含まれることはありません。 は安全で、2番目は安全ではありません。
-
あなたのスクリプトは、" で始まるファイルを処理しません。
-
で始まるファイルをオプションとして扱いません。
ですから、あなたのコードは次のようになります。
find . -exec cmd -option1 -option2 -- {} +
または
find . -print0 | xargs -0 cmd -option1 -option2 --
最初のバージョンは1を無視できるので短く、書きやすいですが
のように、2番目のバージョンはよりポータブルで安全です。
-exec cmd {} +
はGNU findutilsの比較的新しいオプションで(2005年以降、多くの実行中のシステムにはまだありません)、以前は
は最近バギー
. また、多くの人がこの " を知りません。
-exec cmd {} +
を知らない人も多いようです。
関連
-
deepinv20 linux ファイルのサフィックスを変更する方法は?Linuxでファイルの拡張子を変更する方法
-
makeの低レベルエラー:セパレータストップがない
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] php.iniはどこにありますか?
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Kali Linuxのマウスライトテーマを変更する方法は?マウスカーソルのテーマを変更するためのヒント
-
rsyncとinotfiyの組み合わせでリアルタイムバックアップ問題を実現
-
Linux MintのデスクトップでNoteをイタリックにすることは可能ですか?
-
Linux Mintでフェード効果をオンにする方法は?
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
deepin20のソフトをアンインストールする方法を教えてください。deepinのアプリケーションをアンインストールする2つの方法
-
deepin20のデフォルトブラウザを設定するには?deepinにデフォルトブラウザを追加するためのヒント
-
GCCのバージョンによる浮動小数点演算の例外発生
-
[解決済み] cronは内部でどのようにジョブをスケジューリングしているのですか?
-
[解決済み] 標準エラー出力を /dev/null にリダイレクトする。