按文本字符长度对目录中的文件进行排序并复制到其他目录
Sort files in a directory by their text character length and copy to other directory
我正在尝试在目录中按字符长度查找最小文件,一旦找到,我想重命名它并将其复制到另一个目录。
例如,我在一个目录 ~/Files
中有两个文件,它们是 cars.txt
和 rabbits.txt
cars.txt中的文本:
I like red cars that are big.
rabbits.txt中的文本:
I like rabbits.
到目前为止,我知道如何使用命令 wc -m 'filename'
获取单个文件的字符长度,但我不知道如何在所有文件中执行此操作并按顺序对它们进行排序。我知道 rabbits.txt
的字符长度更小,但如何比较它们?
您可以按大小对文件进行排序,然后select第一个文件的名称:
file=$(wc -m ~/Files/* 2>/dev/null | sort -n | head -n 1 | awk '{print }')
echo $file
我正在尝试在目录中按字符长度查找最小文件,一旦找到,我想重命名它并将其复制到另一个目录。
例如,我在一个目录 ~/Files
中有两个文件,它们是 cars.txt
和 rabbits.txt
cars.txt中的文本:
I like red cars that are big.
rabbits.txt中的文本:
I like rabbits.
到目前为止,我知道如何使用命令 wc -m 'filename'
获取单个文件的字符长度,但我不知道如何在所有文件中执行此操作并按顺序对它们进行排序。我知道 rabbits.txt
的字符长度更小,但如何比较它们?
您可以按大小对文件进行排序,然后select第一个文件的名称:
file=$(wc -m ~/Files/* 2>/dev/null | sort -n | head -n 1 | awk '{print }')
echo $file