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

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【6/19開催】Kong Community Japan Meetup #4
本イベントでは、Kong Inc. のVP of ProductであるReza Shafii氏もプレゼンターとして参加。当社からはアーキテクト マネージャーの槌野の登壇が決定!参加無料です!!
https://column.api-ecosystem.sios.jp/connect/kong/1081/

【6/21開催】開発者目線でのSBOMとの向き合い方
SBOMの導入から開発者がSBOMの作成・管理を自動で行っていくための方法(デモ)を紹介します。SBOMを全く知らない人から、開発との統合までを紹介するので様々なレベルの方に学びがあるライブとなる予定です!
https://tech-lab.connpass.com/event/321422/

【7/19開催】現場で役立つAzure神小技10+α 〜生成AI,RAG,コスト削減など旬な技術満載のLT大会〜
Azureの最新技術や実用的な小技を紹介する特別なライトニングトーク大会を開催します!
https://tech-lab.connpass.com/event/319077/

【7/26開催】最適なIaCツールを選ぼう
プロジェクトでのツール選びに困らないための重要な観点をご説明します!
https://tech-lab.connpass.com/event/319532/

今号では、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 貝野 友香 73 Articles
OSSよろず相談室でサポートをやっています。時々ライブ配信や勉強会に出ていることもあります。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

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

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


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



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

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる