Mais conteúdo relacionado シェルで繰り返し処理5. 制御構造を使う(1)
$ n=1;while [ $n -le 100 ]; do echo '羊が'$n'匹';
n=`expr $n + 1`; done
羊が1匹
羊が2匹
..
..
羊が99匹
羊が100匹
シェルでも制御構造が使える
whileループで繰り返し処理
7. 数列データ作成の方法
$ seq 1 100
1
2
..
100
bashのブレース展開
を使う
$ echo {1..100}
1 2 3 .. 99 100
seqコマンドを使う
8. 制御構造を使う(2)
$ for n in `seq 100`; do echo '羊が'$n'匹'; done
$ for n in {1..100} ; do echo '羊が'$n'匹'; done
1から100の数列を準備
繰り返し処理はforループを使用
`seq 100`はシェルのコマンド置換機能
12. xargsを使う(1)
$ seq 100 | xargs printf '羊が%d匹n'
1から100の数列を準備
xargsにパイプ接続してprintfコマンドへ
printf '羊が%d匹' 1 2 3 4 .. 99 100
実質は下記のコマンドが実行
繰り返し実行が無いため高速処理が期待
13. xargsを使う(2)
$ seq 100 | xargs -I@ echo '羊が@匹'
1から100の数列を準備
xargsの-Iオプションを利用
echo '羊が1匹'
echo '羊が2匹'
..
echo '羊が100匹'
実質は右記のコマンドが
実行されている
14. シェルにコマンド列を
$ seq -f 'echo 羊が%g匹' 100 | sh
下記のようなコマンド列を作成
シェルにパイプで渡して実行
echo 羊が1匹
echo 羊が2匹
..
echo 羊が99匹
echo 羊が100匹
パイプ
シェ
ル
15. フィルタコマンドで
$ seq 100 | sed 's/^/羊が/' | sed 's/$/匹/'
1から100の数列を準備
パイプでsedに渡して処理
sedがフィルタとして動作
コマンドの繰り返し実行が無いため
高速な処理が期待出来る
Notas do Editor 情報処理する上で、データと命令は文字列を扱うことが多い
プログラムコードも文字列 情報処理する上で、データと命令は文字列を扱うことが多い
プログラムコードも文字列