1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

シェルスクリプトによるテキストのループ処理についての質問です。

2022-01-05 10:40:15

を使用しています。 puppet を変更した後、その日のうちに puppet とリーダーから返信がある。

私たちは、ドキュメント cabinet.txt これは物理的なマシンが置かれているキャビネットを記録しています。ただし、すべてのマシンが仮想マシンまたはクラウドサーバーであるドキュメントでは puppet 設定ファイルはgitを使って前のバージョンに戻したが、マシンの数が多いので、スクリプトで実行できないかと考えたところ、思ったほど面倒ではなく、簡単なものだった shell スクリプトを実行します。

そのスクリプトは以下の通りです。

#! /bin/bash

for i in `ls manifests`
do
  j=`echo $i | sed 's/.nutscloud.com.pp//g'`
  if [ `grep -c $j cabinet.txt` -eq 0 ];then
    echo $j
    git checkout HEAD^ manifests/$i
  fi
done

実行結果です。

これでvscodeにたくさんの変更点が表示され、コミットして完了です〜。

ウィジェットを作るのはそんなに難しくないし、手でやるより一回使った方が便利だと感じることもあるかもしれませんが、実行して一度に全部できるのは、手では得られない感覚です。

シェルスクリプトでテキストをループ処理する方法については、今回で終了です。シェルスクリプトでテキストを扱う方法については、過去の記事を検索していただくか、引き続き以下の記事をご覧ください。