如何在bash中重复几次几个字符?

bas*_*ibe 4 bash design-patterns repeat

在bash脚本中,我必须连续多次包含同一个文件作为参数.像这样:

convert image.png image.png image.png [...] many_images.png
Run Code Online (Sandbox Code Playgroud)

哪里image.png应该重复几次.

是否有重复模式的bash简写?

Bar*_*Sas 10

你可以使用支撑扩展来做到这一点:

convert image.png{,,} many_images.png
Run Code Online (Sandbox Code Playgroud)

将产生:

convert image.png image.png image.png many_images.png
Run Code Online (Sandbox Code Playgroud)

大括号扩展将在大括号内的每个以逗号分隔的字符串的大括号之前(和之后)重复字符串,从而产生由前缀,逗号分隔的字符串和后缀组成的字符串; 并用空格分隔生成的字符串.

在这种情况下,大括号和后缀之间的逗号分隔字符串是空字符串,这将产生三次字符串image.png.


str*_*ger 7

这适用于给定的整数(下例中为10).

$ echo $(yes image.png | head -n10)
image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png
Run Code Online (Sandbox Code Playgroud)

它也可以用于xargs:

$ yes image.png | head -n10 | xargs echo
image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png
Run Code Online (Sandbox Code Playgroud)