【问题标题】:How to format bash output depending on string length?如何根据字符串长度格式化bash输出?
【发布时间】:2014-03-08 09:40:37
【问题描述】:

现在,我正在运行以下命令:

rpm -qa --queryformat '%{name}\t%{installtime:date}\n' | sort -nr

并获得如下输出:

dhclient        Fri 07 Feb 2014 01:37:47 PM EST
device-mapper-persistent-data   Fri 07 Feb 2014 01:27:37 PM EST
device-mapper-libs      Fri 07 Feb 2014 01:34:44 PM EST
device-mapper   Fri 07 Feb 2014 01:34:46 PM EST
device-mapper-event-libs        Fri 07 Feb 2014 01:34:48 PM EST
device-mapper-event     Fri 07 Feb 2014 01:34:50 PM EST
dbus-libs       Fri 07 Feb 2014 01:25:28 PM EST
dbus-glib       Fri 07 Feb 2014 01:33:48 PM EST
db4-utils       Fri 07 Feb 2014 01:30:05 PM EST
db4     Fri 07 Feb 2014 01:24:58 PM EST
dash    Fri 07 Feb 2014 01:30:19 PM EST
cyrus-sasl-lib  Fri 07 Feb 2014 01:25:48 PM EST

(注意奇怪的标签)

如何告诉命令我希望它输出到具有公共间距的表格中,而不是指定制表符的数量?

额外问题:

我要做的只是找出已安装的内容以及何时安装,以便我可以卸载我最近安装的所有内容。我怎样才能做得比我现在做的更好?

【问题讨论】:

    标签: bash centos6


    【解决方案1】:
    rpm -qa --queryformat '%-40{name} %{installtime:date}\n' | sort -nr
                            ^^^
    

    这将使名称左对齐并将其填充为 40 个字符。

    如果你想按时间排序,你可以先打印数字时间,这样很容易排序。

    $ rpm -qa --queryformat '%-10{installtime}   %{installtime:date}   %{name}\n' | sort -n
    ...
    1375369678   Thu 01 Aug 2013 11:07:58 AM EDT   xorg-x11-util-macros
    1375886901   Wed 07 Aug 2013 10:48:21 AM EDT   libdc1394
    1378148462   Mon 02 Sep 2013 03:01:02 PM EDT   gnome-system-monitor
    1384526666   Fri 15 Nov 2013 09:44:26 AM EST   perl-File-Next
    1384526667   Fri 15 Nov 2013 09:44:27 AM EST   ack
    1385065567   Thu 21 Nov 2013 03:26:07 PM EST   trousers
    1385065568   Thu 21 Nov 2013 03:26:08 PM EST   tpm-tools
    1387405750   Wed 18 Dec 2013 05:29:10 PM EST   libusb1
    

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多