首页 > 解决方案 > 给一个字符串添加多个后缀

问题描述

我想将一个范围内的后缀附加到foo位于file. 该文件保证只有一行包含字符串。

我已经能够在 Bash 中做到这一点:

for num in {001..003}; do
  echo $(cat file) $num
done

输出所需的:

foo 001
foo 002
foo 003

但我想知道是否有更好的方法可以在没有 for 循环的情况下做到这一点。

我试过这样的事情:

$ echo $(cat file) {001..003}
foo 001 002 003
$ echo {001..003} | cat file -
foo
001 002 003

标签: bashunixrange

解决方案


您可以printf使用bash

s=$(<file)
printf "$s %s\n" {001..003}

foo 001
foo 002
foo 003

假设内容file不包含任何printf格式指令。


推荐阅读