【问题标题】:list grep results in one line?列出 grep 结果在一行中?
【发布时间】:2014-05-28 14:11:33
【问题描述】:

一个简单的问题:ls . | grep -E "^[0-9]" 给我以下格式的结果:

1
2
3
4
5

如何让它简单地显示为1 2 3 4 5

【问题讨论】:

    标签: grep ls


    【解决方案1】:

    试试

    ls . | grep -E "^[0-9]" | tr '\n' ' ' ; echo
    

    【讨论】:

    • \o/ 虽然在与肯特的比赛中输了 ;)
    【解决方案2】:

    tr试试这个:

    your cmd ....|tr "\n" ' '
    

    【讨论】:

      【解决方案3】:

      试试ls . | grep -E "^[0-9" | tr '\n' ' '

      【讨论】:

        【解决方案4】:

        使用awk

        ls . | awk '/^[0-9]/ {printf "%s ",$0}'
        

        或者更干净:

        ls . | awk '/^[0-9]/ {printf "%s ",$0} END {print ""}'
        

        【讨论】:

        • @Daniel 添加了空格。
        【解决方案5】:

        如果可用,您可以使用来自bsdmainutilscolumn 命令:

        ls | grep '^[0-9]' | column
        

        输出:

        1 2 3 4 5
        

        另一个测试:

        seq 50 | column
        

        示例输出:

        1   6   11  16  21  26  31  36  41  46
        2   7   12  17  22  27  32  37  42  47
        3   8   13  18  23  28  33  38  43  48
        4   9   14  19  24  29  34  39  44  49
        5   10  15  20  25  30  35  40  45  50
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-25
          • 1970-01-01
          • 2022-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多