【问题标题】:Cutting the column including size切割列包括尺寸
【发布时间】:2013-04-28 18:49:09
【问题描述】:

我想剪切包含文件大小的列。我使用ls -l 来查看有关当前本地化文件的信息。我将有关文件的信息保存在 txt 文件 ls -l > info.txt 中,现在我想剪切包括 size 的列。我做cat info.txt | cut -d'' -f6 但我不工作。我做错了什么?

这包括 info.txt :

-rwx------ 1 s10891 Domain Users   2188 May  4 14:51 info.txt
-rwx------ 1 s10891 Domain Users   1640 Mar 10 07:43 code.txt
-rwx------ 1 s10891 Domain Users     68 Mar  4 11:59 sorted.txt
drwx------ 1 s10891 Domain Users      0 Jan 11 09:48 PPJ
drwx------ 1 s10891 Domain Users      0 Sep  7  2012 public_html
drwx------ 1 s10891 Domain Users      0 Apr 15 11:16 RBD
drwx------ 1 s10891 Domain Users      0 Jan  7 09:45 RDB
drwx------ 1 s10891 Domain Users      0 Apr 15 12:00 SOP
drwx------ 1 s10891 Domain Users      0 Apr  8 12:53 sop_ex3
-rwx------ 1 s10891 Domain Users    122 Feb 25 11:48 sop_info.txt
drwx------ 1 s10891 Domain Users  0 Jan 14 09:41 WindowsFormsApplicati
drwx------ 1 s10891 Domain Users      0 Jan 14 09:41 WindowsFormsApplicati
drwx------ 1 s10891 Domain Users      0 Jan 14 09:41 WindowsFormsApplicati

我想得到这个:

2188
1640
68
0
0
0
0
0
0
122
0
0
0

【问题讨论】:

  • 请编辑您的问题以包含预期输出。你的意思是空 -d(分隔符)'',试试' '?祝你好运。
  • ls 输出总是有被解析的风险。看来您对大小感兴趣,为什么不检查du 命令。它可能会给你更好的想法

标签: linux bash cut ls


【解决方案1】:

大多数cuts 计算文字字符,因此要使-f 6 工作,您的数据必须完全位于相同的列中。不确定您的倒数第三行是错字还是输出的精确复制,但它完美地说明了 cut 的问题。

对于这种情况,大多数人会使用awk 解决方案:

 ls -l | awk '{print $6}'

将产生您列出的输出

awk 的美妙之处在于字段 6 由 awk FS 变量(字段分隔符)的值决定,默认为“多个空白值”(空格或制表符)(这不是准确的描述,但很接近足以满足您的需求)。

【讨论】:

  • Cut 仍然可以正常工作。如果您通过管道使用 column 命令,您可以使这样的输出看起来漂亮而整洁。 "ls -l | column -t" 对于 df 和 mount 命令非常方便。
  • 听起来不错,谢谢分享! (但是...)-ksh: column: not found [No such file or directory]。祝大家好运。
【解决方案2】:

你不需要解析ls:stat -c %s * 会给你一列大小。如果你也想要文件名:stat -c "%s %n" *

【讨论】:

    【解决方案3】:

    使用 sed:

    ls -l | sed -E 's/ +/ /g'
    

    “+”表示任意多个空格

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2018-01-06
      • 2020-06-22
      相关资源
      最近更新 更多