bash에 for each 문을 curl과 결합할 수 있다. 


for i in {1..10}; do

  curl -X GET "http://localhost/api/v1/orders/$1" -H "accept: application/json;charset=UTF-8"

done



수 천개의 파일에 매개 변수를 넣어 확인하려면 {1..10} 대신 $(cat file)으로 변경만 하면 된다.


for i in $(cat file); do

  curl -X GET "http://localhost/api/v1/orders/$i" -H "accept: application/json;charset=UTF-8" 

  sleep 1

done



비슷한 사례로서, host 장비의 ip를 얻고 싶다면 다음 코드를 사용한다. 



for i in $(cat hosts); do

   ping -c1 $i | grep bytes | grep PING | awk {'print $2 substr($3, 1, length($3)-1)'}
   sleep 1

done





Posted by 김용환 '김용환'


엄청 많은 암호화된 단어를 저장한 수 백개의 단어를 한번에 java 코드에서 복호화하고 싶다. 


awk로 특정 데이터를 뽑아냈다.


MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY

...

ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg

MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc



이럴 때는 아래와 같은 sed 커맨드를 사용한다. replace(s)를 사용해 앞과 뒤에 쌍따옴표(")를 붙이고 중간에 기존 단어를 사용하게 한다. 



$ sed 's/^/\"/; s/$/\"/' file

"MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

...

"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"

"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"



배열로 복호화하기 때문에 , 를 맨 앞에 넣는다.


$ sed 's/^/,\"/; s/$/\"/' bb


, "MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

...

,"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"

,"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"



맨 앞의 , 만 빼면 되니 배열로 쉽게 코딩할 수 있다. 



String[] encrypteds = new String[] { "MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

.. ,"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"
,"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"

Arrays.stream(encrypteds) .map(enc -> decryptAES(enc)) .forEach(System.out::println);

};


Posted by 김용환 '김용환'