处理多个文件的最有效方法

处理多个文件的最有效方法

我目前正在进行音频处理,我有许多(大约 800 个)40 秒的样本。我根据地面实况数据将每个文件分割成大约 8-12 秒的剪辑。每次运行代码时,最终都会创建 3200 个文件。然后我需要调试我的代码(如果音频没有得到令人满意的分段)。在这种情况下,Nautilus 经常挂起。我必须永久删除,否则回收站会崩溃。
有人能给我一些有用的技巧和窍门来克服/减少这个问题吗?
编辑:我通常执行以下操作 - 按文件大小排序并播放最大的文件,如果发现错误,则删除所有音频文件,并查看文件名是否按要求正确命名。

答案1

建议的工具

  • 操作系统中有手册,例如

    man ls
    man find
    man sort
    man rm
    man less
    
  • 也许你觉得使用可以通过互联网找到的教程会更好,例如通过搜索字符串Linux Less 教程

  • 有一个好主意清理专用目录或目录树,仅包含音频文件片段,这样您就不必担心篡改您想要保留的任何其他文件。它将使命令更简单、更易于运行。

  • 那里可能有其他文件,但是您必须指定要管理的文件的文件类型,例如*.mp3

  • 在下面的例子中,我假设您有一个干净的专用目录或目录树,其中只有音频文件剪辑,并且您想要保留的所有文件都在该目录之外。

  • 在终端窗口中,您可以通过“向上箭头”键重新使用命令。

  • 您还可以创建别名,这样您就可以输入非常短的命令并获得完整的命令,从而执行您想要的操作。如有必要,稍后将详细介绍。

您通常会执行以下操作

  • 首先,将目录更改为专用目录

    cd /path-to-directory/
    

    例如

    cd $HOME/clips
    
  • 按文件大小排序并播放最大的文件

    • ls如果是扁平结构(没有要搜索的子目录)

      ls -Sr
      
    • findsort是否有要搜索的子目录

      find -type f -printf "%s\t%p\n"|sort -n
      

    将以最大的文件最后排序。

    • 如果你想直接在平面结构中播放该文件,你可以尝试

      mplayer "$(ls -S|head -n1)"
      

      (或者使用其他播放器)。

  • 如果发现错误,请删除所有音频文件

    • rm

    在平面目录中

        rm *
    

    或者如果有子目录包含要删除的文件

        rm -r *
    

    如果要保留其他文件类型,请仅删除音频文件,例如mp3

        rm *.mp3
        rm -r *.mp3
    
  • 并总体查看文件名是否按照要求正确命名。

    • lsless

      ls | less
      

      或者如果你想要每行一个文件

      ls -1 | less
      

相关内容