Linux?shell中改文件名的方法總結(jié)
方法一:mv——單個(gè)文件的修改和移動(dòng)文件
$ mv aa AA #把文件名為aa的文件改為AA
方法二:rename——應(yīng)用于多文件批量修改
$ rename [ -v ] [ -n ] [ -f ] # -v被替換掉的字符串 -n 替換成的字符串 -f 匹配要替換的文件模式;支持匹配多個(gè)文件
例如:更改文件名中的字符串
$ ls aaa aaaaaaaa aaabbbaaa bbb $ rename bbb BBB * aaa aaaaaaaa aaaBBBaaa BBB
對(duì)于命名不規(guī)律的文件名,添加/刪除后綴
$ ls aaa.AA aaaaaaaa.AA aaabbbaaa.AA bbb.AA $ rename .AA "" * aaa aaaaaaaa aaabbbaaa bbb # 用引號(hào)引出空即可
方法三:xargs與mv 聯(lián)合,添加/刪除后綴
$ ls |xargs -t -i sh -c "mv {} {}.AA"
sh -c mv aaa aaa.AA
sh -c mv aaaaa aaaaa.AA
sh -c mv aaabbb aaabbb.AA
# xargs 和mv 批量添加后綴
$ ls |sed 's/.AA//'|xargs -t -i sh -c "mv {}.AA {}"
sh -c mv aaa.AA aaa
sh -c mv aaaaa.AA aaaaa
sh -c mv aaabbb.AA aaabbb
# xargs、mv、sed批量刪除后綴方法四:簡(jiǎn)單的for循環(huán)
$ for name in `ls *`;do mv $name ${name%.AA};done
#用于去除后綴根據(jù)自己的習(xí)慣選擇合適的方法,總結(jié)下來(lái),我認(rèn)為rename 可以滿足大部分的操作需求 ,可以多次嘗試,從此改名變得簡(jiǎn)單~~
附:shell 命令解壓縮zip文件夾并且對(duì)解壓后的文件重命名(批量)
先說(shuō)一下目錄結(jié)構(gòu),在/home/test文件夾下有N個(gè)文件夾,例如2019.1 2019.2 2019.3 等等,同時(shí)在每個(gè)文件夾下有N個(gè)ZIP文件,例如
a.txt.zip b.doc.zip c.html.zip d.pdf.zip等等.因?yàn)槊總€(gè)zip文件中存在的名稱都是一樣的且沒(méi)有后綴,例如都是test.因此需要對(duì)解壓后的文件進(jìn)行重命名,否則都會(huì)變成一個(gè)文件,且覆蓋.
說(shuō)完問(wèn)題描述后,給大家看一下寫(xiě)的代碼,在服務(wù)器上執(zhí)行后,效果和預(yù)期的一樣!
#!/bin/sh
#============ unzip the file ===========
Folder="/home/test"
for file in ${Folder}/*;
do
file_name=`basename $file`
cd ${Folder}/$file_name
(
for unzip in ${Folder}/$file_name/*.zip;
do
unzip_name=`basename $unzip`
rname=${unzip_name:0:${#unzip_name}-4}
unzip -o -O gbk $unzip_name && mv `unzip -l $unzip_name | awk '{if(NR == 4){ print $4}}'` $rname
# rm -f $unzip_name 是否刪除
done
)
done總結(jié)
到此這篇關(guān)于Linux shell中改文件名的方法的文章就介紹到這了,更多相關(guān)shell改文件名方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼
這篇文章主要介紹了Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼,本文講解使用scp命令實(shí)現(xiàn)名登錄上傳文件,需要的朋友可以參考下2015-04-04
在 Bash 中循環(huán)遍歷文件內(nèi)容的不同方法
本文介紹了在Bash腳本中遍歷文件內(nèi)容的幾種方法,包括使用while循環(huán)和read命令逐行讀取文件,使用for循環(huán)和cat命令讀取整個(gè)文件內(nèi)容,使用IFS變量進(jìn)行單詞循環(huán),以及使用awk命令進(jìn)行更高級(jí)的文本處理,每種方法都有其適用的場(chǎng)景和優(yōu)缺點(diǎn),感興趣的朋友跟隨小編一起看看吧2025-12-12
使用Shell實(shí)現(xiàn)ini文件的讀寫(xiě)
這篇文章主要為大家詳細(xì)介紹了如何使用Shell實(shí)現(xiàn)ini文件的讀寫(xiě),文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下2024-11-11

