我想寫一個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