类似于“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*/ /'