【问题标题】:Formatting Bash output into one Table将 Bash 输出格式化为一张表
【发布时间】:2014-05-20 17:37:54
【问题描述】:

我有这行代码 这产生了我桌子的前半部分。表的后半部分是来自的尺寸 硬盘的。所以首先这是我现在的代码:

function getiSCSI() {
    for host in ${allhosts} ; do
        HOSTID="$( echo "${host}" | awk -F, '{print$1}' )"
        CSV_FQDN="$( echo "${host}" | awk -F, '{print$2}' )"
        ALLORACLEDEV=$(ssh -x -l root ${CSV_FQDN} '/sbin/multipath -ll'  | grep NETAPP|awk '{print $2}')
        for i in $ALLORACLEDEV ; do 
            ( ssh -x -l root ${CSV_FQDN} "fdisk -l /dev/$i|grep GB" |awk '{print $3,$4}'
                )
            done ;ssh -x -l root ${CSV_FQDN} "ls -l /dev/oracleasm/disks/|grep dm-[0-9]"|awk '{print $11, $9}'|cut -d/ -f3

    done #2>/dev/null #| ${GENHTML_CMD}

}

现在的输出如下所示:

107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
107.4 GByte,
dm-18 arch01
dm-16 na2lun01
dm-17 na2lun02
dm-21 na2lun03
dm-19 na2lun04
dm-20 na2lun05
dm-22 na2lun06
dm-23 na2lun07
dm-28 na2lun08

但我想要这样的表格:

dm-18 arch01   107.4 GByte
dm-16 na2lun01 107.4 GByte
dm-17 na2lun02 107.4 GByte
dm-21 na2lun03 107.4 GByte
dm-19 na2lun04 107.4 GByte
dm-20 na2lun05 107.4 GByte
dm-22 na2lun06 107.4 GByte
dm-23 na2lun07 107.4 GByte
dm-28 na2lun08 107.4 GByte

我尝试了所有关于 bash 的知识,但我对 bash 脚本的了解非常少:\ 你能帮忙吗?

【问题讨论】:

    标签: bash output-formatting


    【解决方案1】:

    您可以将输出保存到两个不同的文件(file1、file2), 然后他们使用 paste 将它们粘贴在一起。

    paste file1 file2
    

    或者您可以直接在运行中进行:

    paste <( command1 ) <( command2 )
    

    【讨论】:

      猜你喜欢
      • 2023-01-28
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      相关资源
      最近更新 更多