如果只有一列则远程回车

如果只有一列则远程回车

类似于“df”的专有命令返回给我:

FOO_vol6        1714236984   1685700840     28536144   98%    /root_vdm_10/FOO_vol6
FOO_vol4         253851840     64818424    189033416   26%    /root_vdm_10/FOO_vol4
FOO_vol0         827269560    404664536    422605024   49%    /root_vdm_10/FOO_vol0
FOO_vol1        2085318984   1318369688    766949296   63%    /root_vdm_10/FOO_vol1
FOO_vol3        5449936112   4883375096    566561016   90%    /root_vdm_10/FOO_vol3
fs_foobar_users
                7021452248   6879023968    142428280   98%    /root_vdm_6/users
fs_bar_foobarsources
                1280329688   1241297032     39032656   97%    /root_vdm_6/foobarsources
fs_foo_datas2  1858572248   1646175040    212397208   89%    /root_vdm_4/DATAS2

如您所见,如果第 1 列长度 < ~ 15 个字符,则数字位于同一行,如果不是,则它们位于第二行。我希望将所有内容都放在一行上来处理这些数据。

我需要(也许使用 sed ou awk ?)编写如下代码: - 如果只有一列,则删除回车符 - 或者,如果列表的第一个单词大于〜16个字符,则删除回车符。

答案1

你可以这样做:

$ your_df_cmd_here | sed -e '/\s/!N;s/\n\s*/ /'

相关内容