たのしく生きたい

いつもニコニコゆるふわブログです

JJUG CCC 2018 Spring に参加した #jjug_ccc

はじめに

日本Javaユーザーグループ(JJUG)のイベント JJUG CCC 2018 Spring に参加してきました。

前回の 2017 Fall では初めての参加だったため、勝手がわからないまま朝イチから最後までぶっ通しでセッションを聞き、たくさん学びがあった反面たいへん疲れてしまっていました。

tobachi.hateblo.jp

今回はあまり疲れないように、気軽にゆっくりと過ごす気持ちで参加しました。前回は聞けなかったLTなども聞けてとても良かったです。

各セッションの感想やメモなどを残しておきます。

続きを読む

JJUG CCC 2017 Fall に参加した #jjug_ccc

はじめに

日本Javaユーザーグループ(JJUG)のイベントJJUG CCC 2017 Fallに参加してきた。

こういった技術系のイベントに参加するのは初めてだったので、勝手がわからないところもありましたが、勉強になることも多くとても楽しかったです。

せっかくなので学んだことなどをメモしておきます。

続きを読む

bashでJavaから返されたリストをfor文で回す

String型のリストを返すJavaのメソッドをbashから呼び出して、返ってきたリストをforループさせる方法。

とある事情で必要になったのだが、調べ方が良くなかったからか意外と見つからなかったので、メモしておく。

Javaサンプルコード

import java.util.ArrayList;
import java.util.List;

public class ReturnList {
    public static void main(String[] args) {

        List<String> result = new ArrayList<String>();

        result.add("108");
        result.add("12");
        result.add("563");

        System.out.println(result);
    }
}

bashコマンド

上のJavaメソッドをふつうに実行してfor文を回そうとすると、うまくいかない。

ふつうに実行する

testlist=$(java ReturnList)
for test in ${testlist} 
do
    echo ${test}
done

##### 実行結果 #####
[108,
12,
563]

リストのままでは上手くfor文が回せず、単なる文字列みたいになってしまう模様。

edコマンドを使って整形する

そこで、sedコマンドを使って文字列を置換し、for文を回せるように整形してやる。 最初はリストを配列にセットし直せないかと思っていろいろやってみたが、どうやらbashでは配列でなくても文字列を改行で区切ればfor文で回せるっぽい。

参考:BashでStringから配列に変換してfor文で回す - くらげになりたい。

testlist=$(java ReturnList | sed -e 's/\,/\\n/g' | sed -e 's/\[//g' | sed -e 's/\]//g'| sed -e 's/ //g')
for test in ${testlist} 
do
    echo ${test}
done

##### 実行結果 #####
108
12
563

本当なら、JSON形式で値を返しjqコマンドを使ってきれいに処理したかったが……。

好きなこと

寝る直前の、布団に入るあの瞬間がとても好きなんです。

マジで全力笑顔で叫びそうになるくらい好きなんです。

眠るのが好きなのか、単に横になるのが好きなのか、1日を終えるのがそんなに好きなのか自分でもわからないのですが。

他にもそのような方いらっしゃいませんか?

 

ブログ、始めます。