我想写一个bash脚本,从.zip文件中提取文件并将它们转换为文本文件 - 几乎在文件名的末尾添加".txt"
,因为它们都是文本文件但没有扩展名。bash脚本:提取和转换文件
我几乎是新的壳。我发现这个:
cd /path/to/files
for i in *.gz
do
gunzip $i
done
for i in *.zip
do
unzip $i
done
我想它提取的文件,但我如何重命名/转换它们?
我想写一个bash脚本,从.zip文件中提取文件并将它们转换为文本文件 - 几乎在文件名的末尾添加".txt"
,因为它们都是文本文件但没有扩展名。bash脚本:提取和转换文件
我几乎是新的壳。我发现这个:
cd /path/to/files
for i in *.gz
do
gunzip $i
done
for i in *.zip
do
unzip $i
done
我想它提取的文件,但我如何重命名/转换它们?
您可以根据extglob
发现没有.txt
扩展名的文件:
shopt -s extglob
for f in !(*.txt); do
mv "$f" "$f".txt
done
PS:您还可以使用!(*.txt)
模式来匹配所有不带扩展名的文件。
您可以使用['find'](http://man7.org/linux/man-pages/man1/find.1.html)命令查找所有不以'.zip'结尾的文件或'.gz',并自动重命名文件以添加'.txt'后缀。 – 2014-09-01 11:53:47