ฉันต้องการเพิ่มนามสกุล. zip ในไฟล์ทั้งหมด ฉันลองสิ่งนี้ แต่มันไม่ทำงาน:
ls | awk '{print $1 " " $1".zip"}' | xargs mv -f
ฉันต้องการเพิ่มนามสกุล. zip ในไฟล์ทั้งหมด ฉันลองสิ่งนี้ แต่มันไม่ทำงาน:
ls | awk '{print $1 " " $1".zip"}' | xargs mv -f
คำตอบ:
ค้นหา - ลิงค์ไม่กี่:
ผู้ชายเปลี่ยนชื่อ:
NAME
rename - renames multiple files
SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPTION
"rename" renames the filenames supplied according to the rule specified as
the first argument. The perlexpr argument is a Perl expression which is
expected to modify the $_ string in Perl for at least some of the filenames
specified. If a given filename is not modified by the expression, it will not
be renamed. If no filenames are given on the command line, filenames will be
read via standard input...
man wiki: http://en.wikipedia.org/wiki/Man_page
for f in * ; do
mv "$f" "$f.zip"
done
วิธีง่ายๆในการทำเช่นนั้นคือ:
หากคุณต้องการที่จะรักษาส่วนขยายปัจจุบัน:
for i in *; do mv $i ${i}.zip; done
หากคุณต้องการแทนที่ส่วนขยายปัจจุบัน:
for i in *; do mv $i ${i%.*}.zip; done
สิ่งนี้ควรทำเคล็ดลับ:
mmv "./*" "./#1.zip"
(แม้ว่าฉันจะไม่รู้ว่าทำไมคุณถึงต้องการทำเช่นนี้ ... )