【问题标题】:Sort files in a directory by their text character length and copy to other directory [closed]按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]
【发布时间】:2021-12-30 23:38:04
【问题描述】:

我试图在目录中按字符长度查找最小的文件,一旦找到,我想重命名它并将其复制到另一个目录。

例如,我在一个目录中有两个文件~/Files,它们是cars.txtrabbits.txt

cars.txt 中的文本:

I like red cars that are big.

rabbits.txt 中的文本:

I like rabbits.

到目前为止,我知道如何使用命令wc -m 'filename' 获取单个文件的字符长度,但我不知道如何在所有文件中执行此操作并按顺序对其进行排序。我知道rabbits.txt 的字符长度更小,但是如何比较它们呢?

【问题讨论】:

    标签: linux bash shell unix scripting


    【解决方案1】:

    您可以按大小对文件进行排序,然后选择第一个文件的名称:

     file=$(wc -m ~/Files/* 2>/dev/null | sort -n | head -n 1 | awk '{print $2}')
     echo $file
    

    【讨论】:

    • 好的,这绝对可以将文件名作为输出,然后可以用作变量。非常感谢,我想剩下的我会处理的。我会及时更新帖子,如果我找到它,会提供完整的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 2011-11-19
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多