Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于时间字符串名称的bash排序数组_Bash_Shell - Fatal编程技术网

基于时间字符串名称的bash排序数组

基于时间字符串名称的bash排序数组,bash,shell,Bash,Shell,我有目录中的文件列表,其中文件名是hh mm ss格式的时间 05-31-04.mp4 05-32-04.mp4 05-34-04.mp4 05-33-04.mp4 05-30-00.mp4 我需要根据文件名对文件进行排序 像 现在我有下面的代码来列出这个文件 x=$(find . -name "*.mp4" -printf "%f\n") for file in $x; do echo "File -> $file"

我有目录中的文件列表,其中文件名是hh mm ss格式的时间

05-31-04.mp4 
05-32-04.mp4 
05-34-04.mp4 
05-33-04.mp4
05-30-00.mp4
我需要根据文件名对文件进行排序

现在我有下面的代码来列出这个文件

x=$(find . -name "*.mp4" -printf "%f\n")
for file in $x; do
  echo "File -> $file"

那根本不是一个数组
x
是一个简单的字符串变量,在它上面循环而不引用它将在空白处分割它

如果文件名中包含空格或其他shell元字符,则会出现问题,但如果简单文件名具有代表性,则不会出现这种情况。那样的话,就<代码>排序

x=$(查找。-name“*.mp4”-printf“%f\n”|排序)
printf“文件->%s\n”$x
不过,不引用字符串变量会带来一些问题。可能确实使用了数组


readarray-d''x<那根本不是数组
x
是一个简单的字符串变量,在它上面循环而不引用它将在空白处分割它

如果文件名中包含空格或其他shell元字符,则会出现问题,但如果简单文件名具有代表性,则不会出现这种情况。那样的话,就<代码>排序

x=$(查找。-name“*.mp4”-printf“%f\n”|排序)
printf“文件->%s\n”$x
不过,不引用字符串变量会带来一些问题。可能确实使用了数组


readarray-d''x<
printf'%s\n'*.mp4
?如果所有文件都在一个目录中,只需使用标准文件名扩展<代码>用于*.mp4中的文件;是否…
Yes所有文件都在同一目录中。
printf“%s\n”*.mp4
?如果所有文件都在一个目录中,只需使用标准文件名扩展<代码>用于*.mp4中的文件;是否…是所有文件都在同一目录中。
x=$(find . -name "*.mp4" -printf "%f\n")
for file in $x; do
  echo "File -> $file"