簡體   English   中英

使用python或bash通過時間戳將音頻文件復制到新文件夾

[英]use python or bash to copy audio files by time stamp to new folder

您好,我一直在嘗試找到一種在存檔服務器中還原音頻文件的方法。 它們分散在該服務器的幾個子目錄中,並且命名模式有所不同。 它們主要位於“ / media / recordings”目錄中。

這里有一些我正在談論的例子。

YYYY_XXX) XXX-XXXX_20151125-094056_10931-all
YYYYYYY_XXX-XXX-XXXX _20151013-094634_10896-all
YYYY_(XXX) XXX-XXXX_20151116-120923_10215-all
YYYYY_ XXXXXXXXXX_20160307-152940_11033-all

音頻文件都是.wav和.mp3,它們的文件名中都有一個時間戳,我嘗試將其隔離,並用作切入YYYY / MM / DD來創建子目錄的模型。 我讀過一些其他文章,試圖用bash組織那里的文件,並試圖使某些東西能夠正常工作,但似乎無法提出有效的腳本。 請幫助。

我想從/ media / recordings / MP3和ORIG復制此文件,而排除/ media / recording / ORIG / sorted到“ / media / recordings / ORIG / sorted”作為目標位置。 然后按年/月/日子目錄對這些文件進行排序。

這是使用python 2.6.6的較舊的centos計算機。 我已經嘗試過改編一些可以轉到目錄並遞歸導航子目錄的內容,但是我的時間有限,無法解決此問題,我們將不勝感激。

如果我了解您的需求:

#!/bin/bash 
source_dir="/media/recordings"
dest_dir="/media/recordings/ORIG/sorted"
for file in ${source_dir}/{MP3,ORIG}/*; do
    etime=$(stat -c %Y "$file")
    fdate=$(date -d @$etime +"%Y-%m-%d")
    if [[ ! -d "$dest_dir/$fdate" ]]; then
        mkdir "$dest_dir/$fdate"
        mv "$file" "$dest_dir/$fdate"
    else
        mv "$file" "$dest_dir/$fdate"
    fi
done

該腳本將搜索source_dir / MP3和ORIG目錄中的所有文件,並將它們移動到按日期排序的dest_dir / YYYY-MM-DD位置。 文件和目錄名稱中不允許使用字符/。

$ tree media/recordings/ORIG/sorted
├── 2014-10-30
│   └── song.mp3
├── 2015-11-07
│   └── song.wav
├── 2015-11-12
│   └── another_song.mp3
├── 2017-07-11
│   └── another_song.wav
├── 2017-09-06
│   ├── song-1.mp3
│   ├── song-2.wav
│   └── song-3.mp3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM