導航:首頁 > 程序命令 > shell命令修改文件名

shell命令修改文件名

發布時間:2023-03-15 00:42:24

linux 給文件改名的命令

1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。

Ⅱ 用shell命令對文件重命名

shell腳本實現文件改名小操作, 在此做一記錄.
#!/bin/bash#將數據文件.SAC名改為'<sta>.[N/E/Z].SAC'#例如2014.143.20.49.21.0000.YN.BAS.00.BHE.M.SAC改為BAS.E.SACcd ../Datafor FILE in ./* do cd ./$FILE ls#先ls,顯示給文件下的所有文件名,對這些文件名使用awk命令,print出相應的mv *** *** 交由bash處理,給文件重命名.ls *.SAC | awk -F"." '{print "mv "$0" "$8"."$10"."$12}' | bash rename "s/BH//" * #將BH替換為"",即刪除BH# rename 's/^/filt./' *.SAC #增加前綴"filt."# rename 's/filt.//' * #刪除前綴"filt." cd .. done

Ⅲ Linux 下使用 shell 批量修改文件名的三種方法

1、通過sed替換

[root@node01 wolf]# find / -type f -name wolf.log

/wolf.log

/tmp/wolf.log

/root/wolf/wolf.log

[root@node01 wolf]# sed -i 's#wolf#yujing#g' find / -type f -name wolf.log

[root@node01 wolf]# find / -type f -name "wolf.log" | xargs cat

yujing

yujing

yujing

[root@node01 wolf]#

2、通過變數子串替換

vi laolang.log

wolf_20170806_1_wolf.jpg

wolf_20170806_2_wolf.jpg

wolf_20170806_3_wolf.jpg

wolf_20170806_4_wolf.jpg

wolf_20170806_5_wolf.jpg

wolf_20170806_6_wolf.jpg

wolf_20170806_7_wolf.jpg

wolf_20170806_8_wolf.jpg

wolf_20170806_9_wolf.jpg

wolf_20170806_10_wolf.jpg

[root@node01 data]# touch cat laolang.log |tr "\n" " "

[root@node01 data]# ll

total 8316

drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9

-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz

-rw-r--r-- 1 root root 0 Jul 29 14:16 cat

drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1

drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2

drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3

-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg

[root@node01 data]# f=wolf_20170806_10_wolf.jpg

[root@node01 data]# echo $f

wolf_20170806_10_wolf.jpg

[root@node01 data]# echo ${f%wolf*.jpg}

wolf_20170806_10_

[root@node01 data]# mv $f echo ${f%wolf*.jpg}.jpg

[root@node01 data]# ll

total 8316

drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9

-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz

-rw-r--r-- 1 root root 0 Jul 29 14:16 cat

drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1

drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2

drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3

-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg

[root@node01 data]# for f in ls *wolf.jpg ;do mv $f echo ${f%wolf*.jpg}.jpg;done

[root@node01 data]# ll

total 8316

drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9

-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz

-rw-r--r-- 1 root root 0 Jul 29 14:16 cat

drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1

drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2

drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3

-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg

3、修改擴展名

把上面的jpg更換為log

[root@node01 data]# f=wolf_20170806_10_.jpg

[root@node01 data]# echo ${f/%jpg/log} 

wolf_20170806_10_.log

[root@node01 data]# mv $f ${f/%jpg/log}

[root@node01 data]# ls

apache-maven-3.3.9 day1 laolang.log wolf_20170806_2_.jpg wolf_20170806_5_.jpg wolf_20170806_8_.jpg

apache-maven-3.3.9-bin.tar.gz day2 wolf_20170806_10_.log wolf_20170806_3_.jpg wolf_20170806_6_.jpg wolf_20170806_9_.jpg

cat day3 wolf_20170806_1_.jpg wolf_20170806_4_.jpg wolf_20170806_7_.jpg

[root@node01 data]# ll

total 8316

drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9

-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz

-rw-r--r-- 1 root root 0 Jul 29 14:16 cat

drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1

drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2

drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3

-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg

[root@node01 data]# for f in ls *.jpg ;do mv $f ${f/%jpg/log} ;done

[root@node01 data]# ll

total 8316

drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9

-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz

-rw-r--r-- 1 root root 0 Jul 29 14:16 cat

drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1

drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2

drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3

-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.log

-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.log

以上就是本次分享的全部內容,現在想要學習的程序員歡迎關注六星社區,獲取更多技能與教程。

Ⅳ Linux下怎麼通過shell批量修改文件名後綴

比如修改一下目錄下的所有文件的後綴
ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak
[root@ test]# touch a b c
[root@ test]# ls -l
total 0
-rw-r--r-- 1 root root 0 Apr 27 21:50 a
-rw-r--r-- 1 root root 0 Apr 27 21:50 b
-rw-r--r-- 1 root root 0 Apr 27 21:50 c
[root@ test]# ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak
[root@ test]# ls -l
total 0
-rw-r--r-- 1 root root 0 Apr 27 21:50 a.bak
-rw-r--r-- 1 root root 0 Apr 27 21:50 b.bak
-rw-r--r-- 1 root root 0 Apr 27 21:50 c.bak

Ⅳ 怎麼用shell腳本將文件名改名

修改文件名可以有不同的命令方式,比如rename, mv都可以實現

對於單個的文件,可以直接使用以上的命令,那如果有大量的類似格式的文件名需要修改成其他格式的,該如何呢?

比如某次測試後,保存的文件為 Lan1.txt, Lan2.txt,....Lan100.txt

這一百個文件需要在前面添加前綴變成類似 ch7_Lan1.txt,如果你還想使用mv來一個一個...多痛苦啊

當前文件夾下,文件修改有4種方式

1. 使用while Loop加 ${//}來實現Lan到 ch7_Lan的替換

點擊(此處)折疊或打開
find . -name "Lan*txt" -type f | read files

do

new=${files/Lan/ch7_Lan}

mv $files $new

done

2. 充分利用 awk的分隔符功能來實現

點擊(此處)折疊或打開
ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh
首先,修改 FS和 OFS,輸入和輸出的分隔符
其次,使用 awk中的命令,拼接 「mv Lan1.txt ch7_Lan1.txt」這條命令
最後,使用|sh來執行一個 shell命令來完成 mv動作

其中,$1=$1是必須的,這個是完成 Lan===> ch7_Lan的關鍵(其實是可以使用 $2=$2等來替換,只要一個賦值動作而已)
奇怪的是,難道沒有賦值動作,分隔符的改變就不能檢測出來么??

3. 使用 awk的內置命令,gsub和 system來實現替換和命令執行

點擊(此處)折疊或打開
ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'
首先保存原始的數據
其次修改 Lan為 ch_Lan
最後執行mv動作

Ⅵ linux shell 文件如何重命名-具體在裡面---很簡單

需要准備的材料分別是:電腦、linux連接工具。

1、首先連接上linux主機,進入命令行狀態。

閱讀全文

與shell命令修改文件名相關的資料

熱點內容
計算機教室用什麼伺服器 瀏覽:800
華為暢享9怎麼設置簡訊加密 瀏覽:285
中國現代編譯器 瀏覽:850
如何得到app專欄 瀏覽:451
魔獸世界日本伺服器什麼職業多 瀏覽:729
表格加密怎麼設置只讀模式打開 瀏覽:883
哪個app可以不用花唄分期 瀏覽:859
SSL是對稱加密嗎 瀏覽:45
捷途app鑰匙怎麼用 瀏覽:960
享省油app怎麼在加油站使用 瀏覽:250
crc演算法的實現c語言 瀏覽:187
風光攝影pdf 瀏覽:938
頭部按摩器可以緩解壓力嗎 瀏覽:651
格式工廠壓縮圖片大小 瀏覽:892
程序員的黑科技視頻 瀏覽:297
加密欄位表格顯示 瀏覽:404
pdf列印缺字 瀏覽:516
安卓手機鎖住圖標用什麼app 瀏覽:291
程序員牧師 瀏覽:459
影音伺服器是什麼意思 瀏覽:859