bash脚本:提取和转换文件

时间:2014-09-01 11:48:53

标签: bash zip rename

我想编写一个从.zip文件中提取文件并将其转换为文本文件的bash脚本 - 几乎在文件名末尾添加".txt",因为它们都是文本文件,但不是有一个扩展名。

我对shell很新。我发现了这个:

cd /path/to/files
for i in *.gz
do
    gunzip $i
done
for i in *.zip
do
    unzip $i
done

我想它会提取文件,但我如何重命名/转换它们呢?

1 个答案:

答案 0 :(得分:2)

您可以使用extglob查找没有.txt扩展名的所有文件:

shopt -s extglob

for f in !(*.txt); do
   mv "$f" "$f".txt
done

PS:您还可以使用!(*.txt)模式匹配所有没有扩展名的文件。