問題タブ [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.
linux - sed 出力を tr にリダイレクトします
sed コマンドの出力を tr コマンドへの入力としてリダイレクトするにはどうすればよいですか?
git - xargs を使用した git undo エイリアス
git undo
新しいファイル、変更されたファイル、削除されたファイルなど、作業ディレクトリ内のすべてを元に戻すgit エイリアス ( ) があります。
OS Xでは、これはうまく機能します。ただし、Linux では、次の問題が発生します。リポジトリからファイルが削除されていない場合、git ls-files -d | xargs -0 git rm --ignore-unmatch
コマンドは失敗します (xargs
何も渡されません)。
xargs
から何も受信しない場合、静かに移動する方法はありgit ls-files
ますか?
bash - Bash: 「xargs cat」、各ファイルの後に改行を追加
次のように、いくつかのファイルをcatするためにいくつかのコマンドを使用しています。
ほとんど機能しますが、私の問題は、各ファイルの後に改行を追加したいということです。
これはワンライナーでできますか?
(確かに、 catを実行してからecho -nを実行する新しいスクリプトまたは関数を作成できますが、これを別の方法で解決できるかどうか疑問に思っていました)
shell - xargs の -x オプションの動作例
GNUxargs
にはオプション '-x' があります。マニュアルページには次のように書かれています:
-x サイズ (-s オプションを参照) を超えた場合に終了します。
しかし、が設定されているかxargs
どうかは気にしないよう-x
です。-x
がまったく効果を発揮する例を作ることができませんでした。
唯一の違いが追加され-x
、異なる出力を生成する 2 つの例を挙げてください。
find - Git メタデータを使用しないターボール
私のソース ツリーには、Git ソース管理を使用している複数のディレクトリが含まれており、Git メタデータまたはカスタム ログ ファイルへの参照を除いて、ツリー全体を tarball する必要があります。
find/egrep/xargs/tar の組み合わせを使ってみようと思ったのですが、どういうわけか tar ファイルには .git ディレクトリと *.log ファイルが含まれています。
これは私が持っているものです:
誰かがここで私の誤解を説明できますか? find と egrep がフィルタリングしているファイルを tar が処理するのはなぜですか?
私は他の技術にもオープンです。
linux - Linuxで多くの0バイトファイルを削除するには?
0バイトのファイルが多数含まれるディレクトリがあります。ls コマンドを使用してもファイルが表示されません。これらのファイルを削除するために小さなスクリプトを使用していますが、これらのファイルが削除されない場合もあります。スクリプトは次のとおりです。
これをより迅速に行う他の方法はありますか?
bash - シェルスクリプト:xargsを使用してシェル関数の並列インスタンスを実行する
シェルスクリプトでxargsを使用して、同じスクリプトで定義した関数の並列インスタンスを実行しようとしています。この関数はページのフェッチの時間を計測するため、バックグラウンドプロセスではなく、並列プロセスでページが実際に同時にフェッチされることが重要です(これについての私の理解が間違っていて、2つの間に無視できる違いがある場合は、お知らせください) 。
関数は次のとおりです。
引数としてtime_a_urlを並列に実行するのに何回もかかる可能性のある形式のxargsパイプを使用して、これをどのように行うのですか?そして、はい、私はGNU parallelについて知っています、私はこれを書いているところにソフトウェアをインストールする特権を持っていません。
bash - xargs を使用して stdin を変数に割り当てる
私が本当にやりたいことは、パイプライン内のすべてが成功したことを確認し、最後の stdin を変数に割り当てることだけです。次の簡単なシナリオを考えてみましょう。
x=`exit 1|cat`
を実行するdeclare -a
と、次のように表示されます。
declare -a PIPESTATUS='([0]="0")'
に気付くには何らかの方法が必要なexit 1
ので、次のように変換しました。
exit 1|cat|xargs -I {} x={}
そしてdeclare -a
私にくれました:
declare -a PIPESTATUS='([0]="1" [1]="0" [2]="0")'
それが私が望んでいたことなので、exit 1
起こらなかった場合に何が起こるかを確認しようとしました:
echo 1|cat|xargs -I {} x={}
しかし、それは失敗します:
xargs: x={}: No such file or directory
xargs を に割り当てる方法はあります{}
かx
? PIPESTATUS
作業を行い、標準入力を変数に割り当てる他の方法はどうですか?
注: これらの例は単純化されています。exit 1
、echo 1
または を実際に行っているわけではありませんがcat
、これらのコマンドを使用して単純化して、特定の問題に集中できるようにしました。
c - 引数リストが長すぎます。Hubbub HTML 解析ライブラリの構築。execv
システム (Fedora) でこのライブラリをビルドしようとすると
これが最後の数行であるエラーの長いリストを取得します。
このエラーが表示されるメイクファイルは、次の場所からダウンロードできます。
execv への引数を分割して、それほど多くないようにする必要があると思います。このファイルが表示される各インスタンスで、このファイルのコンテキストでこれを行うにはどうすればよいですか? xargs が最適だと聞きました。しかし、私はそれを使用する方法がわかりません。私はbashにかなり慣れていません。
sed - sed行区切り文字をNULに変更して、「xargs-0」プレフィルターとして機能させますか?
私は次のようなコマンドラインを実行しています:
ここでfilename_listing_command
、ファイルを区切るためにnullバイトを使用します-これはxargs -0
消費したいものです。
問題は、いくつかのファイルを除外したいということです。このようなもの:
しかし、私はを使用する必要がありますxargs -0
。
sedが必要とする行区切り文字を改行からNULに変更するにはどうすればよいですか?