知っておくとちょっと便利!xargs コマンドの便利な使い方

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

今号では、xargs コマンドの便利な使い方についてご紹介します!

xargs コマンドとは

xargs コマンドは、標準出力やファイルからリストを読み込み、任意のコマンドに引数として渡します。
あるコマンドの実行結果や出力内容をパイプ (|) で xargs コマンドに渡し、別のコマンドの引数として使用することができます。
xargs コマンドを使用すると、複数の作業が 1行のコマンドで実行できるため、非常に便利です。

コマンドの実行結果を引数として渡す

例として、xargs を使用してカレントディレクトリ配下にあるすべてのファイルの行数を一気にカウントしてみます。
現在、カレントディレクトリには 3つのファイル (text1.txt、text2.txt、text3.txt) があり、各ファイルの行数はすべて 3行であるとします。

$ ls
text1.txt  text2.txt  text3.txt
$ less text1.txt
$ cat text1.txt
a
b
c
$ cat text2.txt
a
b
c
$ cat text3.txt
a
b
c

この時、xargs を使用すると ls コマンドの実行結果 (カレントディレクトリ配下にあるすべてのファイル) に対し、wc -l コマンドを一度に実行します。
このように、複数の操作を 1つのコマンドで実行することができるようになります。

$ ls | xargs wc -l
 3 text1.txt
 3 text2.txt
 3 text3.txt
 9 合計

現在、カレントディレクトリには 3つのファイルがあります。
このファイル数を xargs コマンドを使用して数える場合、下記のようなコマンドになります。

$ ls
text1.txt  text2.txt  text3.txt

ファイルの内容をを引数として渡す

先ほどはコマンドの実行結果を xargs に渡していましたが、ファイルの内容を xargs に渡すこともできます。
次の例では、あるファイルの内容を利用して、新たなファイルを一気に作成します。

$ cat text4.txt
text4-1.txt
text4-2.txt
text4-3.txt

text4.txt という新たなファイルを作成し、text4-1.txt、text4-2.txt、text4-3.txt という 3行の内容を追加しました。
これらをファイル名として、新たなファイルを一気に作成します。

$ cat text4.txt | xargs touch
$ ls -1
text1.txt
text2.txt
text3.txt
text4-1.txt
text4-2.txt
text4-3.txt
text4.txt

おわりに

いかがでしたでしょうか。
本日ご紹介したものはほんの一例ですが、例のように、複数の操作を一度に実行できるところが xargs の便利な点です。
ぜひ、日頃の業務にご活用いただき、作業の効率化に役立てていただければと思います!

アバター画像
About 貝野 友香 71 Articles
OSSよろず相談室でサポートをやっています。時々ライブ配信や勉強会に出ていることもあります。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる