簡體   English   中英

查找和復制名稱相同但擴展名不同的文件

[英]Finding and copying files with same name but different extensions

我目前有一個包含數千個.txt文件的大文件夾,每個文件夾都有一個對應的.wav文件,如下所示:

1.txt
1.wav
2.txt
2.wav

每個文件名都是一個隨機數。

在此文件夾中,對於這些.txt和.wav文件對中的一些,還有多個.trs文件。

我需要做的是查找所有三元組數據,並將它們復制到另一個文件夾,將所有沒有相應的.trs文件的.txt和.wav文件留在后面。 因此,最終只有三元組數據將位於此新文件夾中,如下所示:

4.txt
4.trs
4.wav
5.txt
5.trs
5.wav

我所要做的就是將所有.trs文件復制到一個單獨的文件夾中,我不知道如何繼續並完成此操作。

我感謝您可以給我的所有幫助或提示。

for FILE in *.txt; do
    BASE=${FILE%.txt}
    [[ -e $BASE.trs && -e $BASE.wav ]] && cp "$FILE" "$BASE.trs" "$BASE.wav" /some/dir
done

要特定於數字文件名,請使用擴展的globbing:

shopt -s extglob
for FILE in +([[:digit:]]).txt; do
    BASE=${FILE%.txt}
    [[ -e $BASE.trs && -e $BASE.wav ]] && cp "$FILE" "$BASE.trs" "$BASE.wav" /some/dir
done

如果我是正確的:對於每個trs文件,您都有一個txt和wav文件要復制:

for FILE in *.trs; do 
    BASENAME=${file%.trs}
    cp $FILE $BASENAME.txt  $BASENAME.wav somewhere/
done

暫無
暫無

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

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