問題タブ [xargs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
filter - xargs が機能しないときに何百万ものファイルを操作する方法
一部のクラスターでは、いくつかのディレクトリに入力し、いくつかのファイルを一覧表示して選択する必要があります。問題は、おそらく何百万もの非常に小さなファイルが存在することです。私が行った場合
非常に非効率的です。しかし、次のようなより良い代替案を試してみると
数分かかりますが、返事がありません...
このような状況では、より良い/より高速な方法があるのではないかと思います。もちろん、これらすべてのファイルを生成した人に何かを伝えることはできますが、これは問題の範囲外です。ありがとう
bash - grep を使用してファイル内の 16 進文字列を検索する
私はこれを機能させるために一日中努力してきました。ファイル内の16進文字列のオフセットを取得するためにgrepなどを取得する方法を知っている人はいますか?
文字列を確認してから再度実行し、値が変更されたかどうかを確認する必要がある 16 進ダンプがたくさんあります。
hexdump と dd を試しましたが、問題はストリームであるためです。ファイルのオフセットが失われます。
誰かがこの問題と回避策を持っていたに違いありません。私に何ができる?
明確にするために、GDB からダンプされた一連のメモリ領域があります。
数値が格納されているすべての場所を検索して数値を絞り込もうとしています。それからもう一度やり直して、新しい値が同じメモリ位置に格納されているかどうかを確認します。
私は16進値を探しているので、grepで何もすることができません。そのため、何度も試してみましたが(大まかに何十兆回も)、正しい出力が得られません。
16 進数のダンプは完全なバイナリ ファイルにすぎません。バイト?
パターンは、私が認識している行をラップしていません。私はそれが何に変わるかを認識しており、同じプロセスを実行してリストを比較して、どれが一致するかを確認できます。通常、16 進ダンプは (合計で) 100 メガ程度になります。
Perl も選択肢の 1 つかもしれませんが、現時点では、bash とそのツールに関する知識が不足していることが主な原因であると思います。
実際には出力が得られないため、得られる出力を説明するのは少し難しい..
私は次のようなことを期待しています (そして期待しています):
これは、私が通常取得するかなり標準的な出力ですgrep -URbFo <searchterm> . > <output>
問題は、16 進数値を検索しようとすると、16 進数値を検索しないと問題が発生することです。そのため、00 を検索すると、100 万件のヒットが得られるはずです。テキストとして 00 の場合、16 進数では 3030 です。何かアイデアはありますか?
私はhexdumpまたはリンクの何かを介してそれを強制することができますが、ストリームであるため、一致が見つかったオフセットとファイル名を提供しません.
オプションを使用しgrep -b
ても機能しないようです。状況に役立つと思われるすべてのフラグを試しましたが、何も機能しませんでした。
例として使用xxd -u /usr/bin/xxd
すると、役立つ出力が得られますが、それを検索に使用することはできません..
素晴らしい出力、私が見たいものですが、この状況ではうまくいきません..
これは、これを投稿してから試したことの一部です。
command-line - XARGを使用してコマンドを実行する
サンプルファイルがあります:test_file
ここで、RUN_THIS*
&DONT_RUN*
はコマンドです。ファイルを編集せずに、test_fileからRUN_THISコマンドのみを実行したいと思います。私はのようなオプションを探しています
新しいシェルを起動できません
linux - xargs -L では正しいフォーマットが生成されるのに、xargs -n では生成されないのはなぜですか?
次の点を考慮してください。
-n オプションを使用すると、フォーマットが正しくないのはなぜですか? 念のため、Ubuntuでbashを使用しています。ありがとう。
linux - stdout から引数を抽出してパイプする
これを使用して、毎回異なるファイルを引数としてスクリプトをn回実行しようとしていました:
(script.pl は引数としてファイル名を受け入れます)
ただし、スクリプトは 1 回だけ実行されます。これを解決するには?私はそれを正しくしていませんか?
bash - xargs jar tvf - 動作しません
目的: すべての jar 内のファイルを一覧表示する。
これは機能します:
これも機能します:
これはしません (何も出力しません):
後者が機能しないのはなぜですか?
linux - 結果の検索で展開を実行
コマンドで見つかったすべてのファイルに対してexpandshellコマンドを実行しようとしていますfind
。-execとxargsを試しましたが、どちらも失敗しました。誰かが私に理由を説明できますか?私は記録のためにMacを使用しています。
find . -name "*.php" -exec expand -t 4 {} > {} \;
これにより、{}
見つかった個々のファイル自体を上書きするのではなく、すべての出力を含むファイルが作成されます。
find . -name "*.php" -print0 | xargs -0 -I expand -t 4 {} > {}
そしてこれはただ出力します
bash - bashでのコマンド構成
したがって、別のコマンドによって出力されるファイルのリストに相当するものがあり、次のようになります。
xmlstarletを介して各ファイルでXMLを実行する必要があるので、実行しています... | xargs gzip -d | xmlstarlet ...
。ただし、互いに追加されたすべてのxmlドキュメントではなく、gzipに入る行ごとにxmlstarletを1回呼び出す必要があります。compose 'gzip -d' 'xmlstarlet ...'
xargsがそれぞれの合成関数に1つの引数を提供するようにすることは可能ですか?
bash - ファイルからの正規表現行とコマンドの実行
識別コマンドからの出力を含むファイルがあります。次のようになります (次の形式: FILENAME FORMAT SIZE METADATA )
ファイル名にはスペースを含めることができることに注意してください。私がやりたいことは、基本的にこれらの各行でこれを実行することです:
つまり、既存のイメージの空白のイメージを作成します。cat/sed/xargs でこれを試してみましたが、頭が爆発しています。ヒントはありますか?そしてできればコマンドラインソリューション..
linux - Xargsはstdinをリッスンしません
既存のすべての*.phpファイルと*.phtmlファイルにsvn:keywordsプロパティを追加しようとしています。したがって、私はこのコマンドを使用します:
Mateusz Loskotによると、これはすべてのファイルにプロパティを追加する必要があります。を実行するfind . -regex '.*\.php' -o -regex '.*\.phtml'
と、すべてのファイルが見つかりますが、xargsは次のメッセージを返しますxargs: svn: No such file or directory
。
また、見つかったリスト(>> ~/temp
)をエクスポートxargs -a
し、ファイル入力から引数を読み取るために使用しようとしましたが、成功しませんでした。すべてのphpファイルを更新するにはどうすればよいですか?
PS。私は、bash4.2.8とxargs4.4.2を組み込んだKubuntuLinux Natty(11.04)を使用しています(それが問題になる可能性がある場合)