按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]

Posted

技术标签:

【中文标题】按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]【英文标题】: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 的字符长度更小,但是如何比较它们呢?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

好的,这绝对可以将文件名作为输出,然后可以用作变量。非常感谢,我想剩下的我会处理的。我会及时更新帖子,如果我找到它,会提供完整的答案。

以上是关于按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

linux unzip 怎么强制覆盖?

按字符串长度对熊猫系列中的列表进行排序

按 J 中的长度对字符串中的单词进行排序

如何按降序对文本文件中的不同类型数字排序到文本框?

按长度对字符串的 ArrayList 进行排序

按字符串列的长度对数据帧进行排序[重复]