[英]rename multiple files in shell script
重命名多個文件...在外殼中
我的目錄中有3個文件
abc.tar.gz
abc2.tar.gz
abc3.tar.gz
使用此命令:
rename abc abc.part abc*.tar.gz
它將它們轉換成
abc.part.tar.gz
abc.part2.tar.gz
abc.part3.tar.gz
之后,我在其中添加了3個文件。
abc.tar.gz
abc2.tar.gz
abc3.tar.gz
而當我重新命名abc abc.part abc * .tar.gz
它將重命名所有6個文件,因此最終輸出為
abc.part.tar.gz
abc.part.part2.tar.gz
abc.part.part3.tar.gz
abc.part.part.tar.gz
abc.part2.tar.gz
abc.part3.tar.gz
我只是想防止多次重命名... rename
命令應該怎么做?
表示無論我啟動重命名命令有多少時間,我的最終輸出都應該在下面。 這里文件的數量是DYNAMIC
..它可能是3,4 ...或其他...因此不能靜態添加3或某個數字!
abc.part.tar.gz
abc.part2.tar.gz
abc.part3.tar.gz
作為重命名的最后一個參數,請使用:
abc{,2,3}.tar.gz
創建以下“ ChangeExt”腳本:
#!/bin/bash
if [ $# -lt 2 ]; then
echo "$0 NEWEXT FILENAME.."
exit 1
fi
$newext=$1
shift
for a in $*
do
mv $a "`basename $a`.$newext"
echo "$a to `basename $a`.$newext"
done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.