タグ

xargsに関するplasma0713のブックマーク (7)

  • Macのxargsはバイト数制限に注意が必要

    TL;DR xargsはGNU版(Linuxなど)とBSD版(Macなど)が存在し挙動に違いがある。 BSD版のxargsでは-Iオプション(文字列置換)を利用する場合にバイト数の制限がある。 -Iオプションは置換後の文字列が255バイト以上になった場合に置換されない。 -Jオプションを代わりに利用することでバイト数制限の問題は解決するが、-Iオプションとは異なる挙動もあるので注意が必要。 MacにGNU版のxargsを入れてしまうのも手。 実行環境 記事は、以下の環境にて実行しています。 macOS Catalina 10.15.7 (Intel) GNU bash, version 3.2.57 ハマった点 スクリプトを書くまでもないけど自動化したい処理をsed/awk/xargsなどのコマンドを駆使したワンライナーで済ますことは多いと思います。 また、アドホックな処理では各人のロー

    Macのxargsはバイト数制限に注意が必要
    plasma0713
    plasma0713 2022/02/03
    “homebrew経由でfindutilsというパッケージをインストールすると、GNU版のxargsをMacでも使えるようです。”
  • xargsから呼び出したコマンドにキーボード入力を渡す | 俺的備忘録 〜なんかいろいろ〜

    Twitterをボケーッと眺めていたところ、xargsで呼び出したコマンドにキー入力をしたいという内容があったので、どうやったらできるのか調べてみた。 通常、対象のプロセスで標準入力が開いてないとだいたいの(というか、普通の)コマンドは処理を待たずに終了してしまう。なので、なんとかしてターミナルを標準入力として渡してやればいいということになる。 1. /dev/ttyを読み込ませる 以下のように、/dev/ttyをxargsで呼び出したコマンド内部で読み込ませる事で、ターミナルの入力を渡すことができる。 command... | xargs -I@ sh -c '</dev/tty command... @' 例えば、以下のようにすることでxargsで受け付けたファイルに対して対話式にrmをすることができる。 ls -1 | xargs -I @ sh -c '</dev/tty rm -

  • xargsで複数コマンドを実行する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    xargsで複数コマンドを実行する - Qiita
  • xargsでコマンドを並列実行 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    xargsでコマンドを並列実行 - Qiita
  • xargs のオプションいろいろ - Qiita

    xargs は便利なコマンドです。 xargs を使うことにより、複雑なプログラミングをしないでも、手軽に並列処理を実現できます。 準備 実験環境 今回実験に利用する環境は CentOS 6.4 です。 xargs は Linux 系と BSD 系でオプションが異なりますので、ご注意下さい。 実験用スクリプト 今回の実験に利用するスクリプトです。このスクリプトを xargs の引数に渡します。 以降、このスクリプトの様に xargs に渡すコマンドを、 xargs 引数コマンド と呼ぶことにします。 #!/bin/sh # 実行時間を擬態 sleep 1 # コマンド引数表示時の最大文字数 max_len=50 # 最大文字数を超えた場合のトリミング a=$@ if [ $max_len -lt ${#a} ] then a="${a:0:$max_len}..." fi # プロセス番号

    xargs のオプションいろいろ - Qiita
  • 検索対象が多すぎる場合の対処法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    検索対象が多すぎる場合の対処法 - Qiita
  • xargsからのcURL

    1200くらいのURLのリストを渡され、そのURLのファイルをダウンロードする必要があった。今更ダウンローダーをダウンロードしてきて、インストールして、使って、アンインストールするのも面倒だったので、xargsからcURLをつなげてやった。 $ xargs -n 1 -P 4 curl -OL < urllist.txt xargsは、-n 1で標準入力を一行ずつの処理でき、-P 4で指定したコマンドを4つ並行に走らせることができる。cURLでは-Oを使ってURLから保存するファイル名を取り、-Lでリダイレクトを辿るようにする。これで4つ並行にファイルをダウンロードできた。 xargsはもちろん、cURL程になっても使い方を覚えてなくても--helpでなんとなくわかる。こういう--helpやGoogleで使い方や利用例がわかるCLIツールは、ほとんど何も覚える必要がない(どういう目的のツー

    xargsからのcURL
  • 1