linux - 如何编写一个脚本来输出一个包含两个对应变量的表格?

标签 linux bash

我正在尝试从文件中提取信息以创建一个末尾有两个变量的表,因此一列中的信息将与另一列相对应。

#!/bin/bash
# Extracting Name (2nd column)
name=`awk '{print $9}' PMZ_genes.gff3.txt | grep -oP ";\KName=[^;]+" | 
uniq`

# Extracting values for 1st column
for pmz in `awk '{print $9}' PMZ_genes.gff3.txt | cut -c4-14 | uniq`
do
        echo "Symbols $pmz correspond to $name"
done

这是我的期望

Symbols PMZ0001 correspond to Name=One
Symbols PMZ0002 correspond to Name=Two
Symbols PMZ0003 correspond to Name=Three

这是我现在拥有的

Symbols PMZ0001 correspond to Name=One
Name=Two
Name=Three

Symbols PMZ0002 correspond to Name=One
Name=Two
Name=Three

最佳答案

如果行有相同数量的项目,您可以使用粘贴命令将它们连接起来。

# name.txt
a
b
c
# id.txt
1
2
3
$ paste id name
a   1
b   2
c   3

您还可以将输出用作 paste 命令的文件。

#!/bin/bash
lsr=$(ls -lasht)
owner=$(echo "$lsr" | awk '{print "owner:" $4}')
fn=$(echo "$lsr" | awk '{print "filename:" $10}')
paste <(echo "$owner") <(echo "$fn")

关于linux - 如何编写一个脚本来输出一个包含两个对应变量的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58600966/

相关文章:

linux - 用字符串代替shell中的变量

c++ - Linux 中的 gettimeofday 函数线程安全吗?

python - 运行 pwssh 时出现无效语法 ^ 错误

bash - ": ${foo=value}"中冒号运算符的解释

linux zip 并通过 bash/shell 脚本排除目录

linux - 在不丢失原始排序顺序的情况下进行子排序?

linux - psql 控制台不接受本地化

linux - 需要知道linux机器上rsync的状态

python - 将 glob 命令从 Popen 传递到终端

linux - pg_restore 分隔符