【问题标题】:How to use find command to get csv如何使用 find 命令获取 csv
【发布时间】:2016-01-06 15:09:59
【问题描述】:

我正在使用以下命令:

$ find /mnt/DCS_01 -size +10000k -exec ls -sd {} +
26412032 /mnt/DCS_01/file.mp3
26412032 /mnt/DCS_01/file2.mp3

我正在尝试将其写为csv 文件。有没有办法让输出以逗号分隔,所以我可以将其写入文本文件,例如:

$ find /mnt/DCS_01 -size +10000k -exec ls -sd {} + "csv" > file.txt

【问题讨论】:

    标签: linux shell unix find ls


    【解决方案1】:

    -printf

    find /mnt/DCS_01 -size +10000k -printf '%k,"%p"\n'
    

    阅读 printf :

    man find | less +/'-printf format'
    

    【讨论】:

    • 谢谢 - 我如何才能以人类可读的形式获得它的大小?例如,3.4GB?
    【解决方案2】:

    您可以使用printf --

    $ find /mnt/DCS_01 -size +10000k -printf '%s,%p\n'
    29038348776,/mnt/DCS_01/file1...
    919345944,/mnt/DCS_01/file2...
    

    【讨论】:

    • %s 与 OP 输出的大小不同
    • @GillesQuenot 那么%s 是什么?不是 ` %s 文件的大小(以字节为单位)。 ` ?
    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 2015-09-07
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 2018-07-17
    • 2015-11-15
    • 1970-01-01
    相关资源
    最近更新 更多