首页 > 解决方案 > 将变量内容添加到文件中的新列

问题描述

我没有太多使用 UNIX 的经验,我想知道如何做到这一点:

我有一个包含以下内容的 bash 变量:

82 195 9 53

当前文件如下所示:

A
B
C
D

我想在具有该数字的文件中添加一个新列,如下所示:

A 82
B 195
C 9
D 53

希望您能够帮助我。提前致谢。

标签: bashawkwindows-subsystem-for-linux

解决方案


或者简单地使用带有空格的粘贴作为分隔符,例如使用您的示例文件内容file

var="82 195 9 53"
paste -d ' ' file <(printf "%s\n" $var)

注意: 在流程替换中$var使用未引用printf

结果

A 82
B 195
C 9
D 53

对于一般的 POSIX shell 解决方案,您只需将输出通过管道printf传输到,paste而不是使用仅 bash 的进程替换,例如

printf "%s\n" $var | paste -d ' ' file -

推荐阅读