bash - 给一个字符串添加多个后缀
问题描述
我想将一个范围内的后缀附加到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
解决方案
您可以printf
使用bash
:
s=$(<file)
printf "$s %s\n" {001..003}
foo 001
foo 002
foo 003
假设内容file
不包含任何printf
格式指令。
推荐阅读
- c# - 从所有 Outlook 联系人文件夹中获取联系人 Microsoft Graph
- javascript - 为什么我的控制台显示“无法设置未定义的属性 'src'”?
- vue.js - 如何在状态更改时使用 mixin 更新图表?
- android - SQLite 中的非嵌套(或类似)
- c - 将赔率分配给大小为 50 的数组
- scala - 对 None 的 Typeclass 的隐式查找与 Option 的逆变 Typeclass 不兼容
- c# - 更快地创建 Excel(互操作)
- elasticsearch - ReadOnly Rest 插件提供身份验证异常
- python - 如何在 Python 2.7 中实现没有第三方包的异步请求
- python - Python:重复查找两个特殊字符之间的字符串