同じ文字列を繰り返し出力する方法です。いろいろあるので使いやすいやつをどうぞ。
速度比較とかしたらいいんだろうけど面倒()
今回は「Fascode」という文字を1000行出します。
forを使ってループ
一番簡単なやつです。
for i in {1..1000}; do
echo "Fascode"
done
yesコマンドを使う
yesコマンドは同じ文字を無限に出力するコマンドです。
yes Fascode | head -n 1000
seqをsedで置き換え
似たような名前のコマンドを組み合わせます。
seq 1000 | sed "s/.*/Fascode/g"
seqをxargsでループ
xargsコマンドで標準入力の値の個数だけコマンドを実行します。
seq 1000 | xargs -In echo "Fascode"
whileと変数で回数を数える
変数を使う必要があって面倒。
count=0
while (( "${count}" != 1000 )); do
echo "Fascode"
count=$(( count + 1 ))
done
awkのforでループする
awkって結構難しい。
echo | awk '{for (i = 1; i <= 1000; i++) print "Fascode";}
Perlを使う
Perlって全く知らないんですがなんか雰囲気で読める気がします←怒られそう
構文が他のいろんな言語に似てる気がする←怒られそう
perl -e 'for (my $count = 0; $count < 1000; $count++){ print "Fascode\n"; }'
Pythonを使う
他言語を使い始めたら身もふたもないですね
python << "EOF"
for i in range(1000):
print("Fascode")
EOF
最後に
一番わかりやすいのはforコマンドなんでしょうけど、個人的にはyesコマンドが好きです。
前回のシェルスクリプトの記事↓
このブログを書いた方のTwitter↓
The post シェルスクリプトで同じ文字を繰り返し出力する first appeared on FascodeNetwork Blog.