Bash 创建自定义字符串

use*_*326 3 format bash regex perl

怎么可能在 bash 像这样的模式

ROW1   n1    n2    n3   n4 
Run Code Online (Sandbox Code Playgroud)

最多 300 可以用一些命令完成,bash或者也只是perl……分隔符需要是\t

如上

mur*_*uru 9

您可以使用大括号扩展和printf

printf "%s\t" ROW1 n{1..300}
Run Code Online (Sandbox Code Playgroud)

第一个字符串指定输出到 的格式printf,并%s替换为相应的参数。由于只有%s,printf将重新使用格式说明符,直到用完所有参数。这将留下一个尾随标签。

{1..300}是 bash 语法,它扩展为从 1 到 300 的数字,以空格分隔。如果在大括号之前或之后添加字符串,则扩展形式也将附加该字符串。

为避免尾随制表符,您必须单独打印一些内容,无论是第一个单词还是最后一个单词:

printf "ROW1"; printf "\tn%d" {1..300}
printf "%s\t" ROW1 n{1..299}; echo n300
Run Code Online (Sandbox Code Playgroud)