シェルスクリプトでは標準入力から読み込んで、標準出力に書き込むフィルターパターンが多いので、配列を使う機会はあまりないかもしれない。
でも、配列を使っている場面で配列をソートしたくなる時もある。
そんな時も簡単にやりたい。
それをさらに()で囲んで、配列を生成して、sorted_arrに格納する。
でも、配列を使っている場面で配列をソートしたくなる時もある。
そんな時も簡単にやりたい。
もちろんsortコマンドで
シェルスクリプトはいろんなコマンドを組み合わせて、処理できるのがいいところなので、sortコマンドを使ってソートする。arr=( 5 1 2 4 3 ) sorted_arr=( $( printf "%s\n" "${arr[@]}" | sort ) ) echo ${sorted_arr[@]} # 出力 # 1 2 3 4 5printf "%s\n" "${arr[@]}" で配列の要素間に改行を入れて、sortコマンドで渡してあげればいい。
それをさらに()で囲んで、配列を生成して、sorted_arrに格納する。
検索も
検索もgrepで同じようにすればいい。arr=( 5 1 2 4 3 2 5 ) found_arr=( $( printf "%s\n" "${arr[@]}" | grep -e 3 -e 5 ) ) echo ${found_arr[@]} # 出力 # 5 3 5
0 件のコメント:
コメントを投稿