![Linux 命令重复一个字符串 n 次](https://linux22.com/image/1225504/Linux%20%E5%91%BD%E4%BB%A4%E9%87%8D%E5%A4%8D%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%20n%20%E6%AC%A1.png)
是否有任何内置的 Linux 命令允许输出一个为输入字符串 n 倍的字符串?
答案1
adrian@Fourier:~$ printf 'HelloWorld\n%.0s' {1..5}
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
adrian@Fourier:~$
答案2
这是一种非常便携的传统方法:
yes "HelloWorld" | head -n 10
这是一个更传统的版本阿德里安·佩特雷斯库使用括号扩展来回答:
for i in {1..5}
do
echo "HelloWorld"
done
这相当于:
for i in 1 2 3 4 5
这是一个更简洁、更动态的版本派克的回答:
printf -v spaces '%*s' 10 ''; printf '%s\n' ${spaces// /ten}
答案3
你可以使用一个技巧。回显一个空变量不会打印任何内容。因此你可以这样写:
echo word$wojek{1..100}
如果$wojek1 $wojek2
...$wojek100
是不存在的变量,你的单词将会重复 100 次,而没有其他任何东西。
答案4
已经提到了不少好方法。seq
不过不能忘记那些老方法:
[john@awesome]$for i in `seq 5`; do echo "Hi";done 你好 你好 你好 你好 你好