Ubuntu下重新命名檔案
在linux下修改檔案的名字有很多種方法,常用的有mv和rename。
一,mv
mv fromfile tofile
如把檔案a.txt得命名為b.txt,可以是mv a.txt b.txt。
二,renamemv一次只能重新命名一個檔案,而且,它是移動命令。如果tofile已經存在的話,會直接裝原檔案覆蓋,從而造成檔案的丟失。當然有選項可以對已存在的檔案進行提示,還是決定看看rename吧。
例子:將目錄A重新命名為B
mv A B
例子:將/a目錄移動到/b下,並重命名為c
mv /a /b/c
Linux的 rename 命令有兩個版本(C語言和Perl語言),早期的Linux發行版基本上使用的是C語言版本,現在系統幾乎都是Perl語言版本了(支援正則處理,功能更強大)[1]。可以通過命令man rename開啟rename幫助文件檢視版本,如果第一行內容如下,則是Perl語言版本。
- RENAME(1) Perl Programmers Reference Guide RENAME(1)
- rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v(verbose)列印被成功重新命名的檔案 -n(no-act)只是顯示將被重新命名的檔案,而不重新命名(重新命名之前可以用-n確認需要重新命名的檔案) -f(force)覆蓋已經存在的檔案 perlexprPerl語言格式的正則表示式先舉個例子來感受下,比如將當前目錄下所有*.nc檔名稱中Sam3字串替換成Stm32,命令如下:files需要被替換的檔案(比如*.c、*.h),如果沒給出檔名,將從標準輸入讀
- rename -n 's/Sam3/Stm32/' *.nc /*確認需要重新命名的檔案*/
- rename -v 's/Sam3/Stm32/' *.nc /*執行修改,並列出已重新命名的檔案*/
perlexpr引數介紹:Perl正則表示式——三種形式
匹配:m/<regexp>/ (可以省略m,直接寫成/regexp/) 替換:s/<pattern>/<replacement>/rename命令常用到替換和轉化兩種(用匹配也沒意義)。轉換跟替換不同,替換是將replacement整個字串替換pattern字串,而轉換則是用replacement逐個字元替換pattern逐個字元,結果依賴於replacement與pattern字元個數(見下述分析)。轉化:tr/<pattern>/<replacement>/
(1)替換 替換表達方式如下[3],還有一系列引數,貌似不怎麼用得著。
- s/PATTERN/REPLACEMENT/egimosx
eEvaluate the right side as an expression. gMatch globally, i.e. all occurrences. iCase-insensitive pattern matching. mTreat string as multiple lines. oOnly compile pattern once, even if variables within it change. sTreat string as single line. xUse extended regular expressions(2)轉化 轉化有兩種等價表達方式,如下:
- tr/SEARCHLIST/REPLACEMENTLIST/cds
- y/SEARCHLIST/REPLACEMENTLIST/cds
cComplement the SEARCHLIST. dDelete found but unreplaced characters. sSquash duplicate replaced characters.轉化同替換不同,用REPLACEMENTLIST逐個字元替換SEARCHLIST逐個字元,比如'tr/Sam/Stm/',用S替代S,t替代a,m替代m。結果依賴於兩者字元長短,下面以檔名FastSpiSam3C.nc為例進行說明:
- [email protected]:~$ rename -n 'tr/Sam3/Stm/' FastSpiSam3C.nc /*替換字元短,用最後一個字元m替換3*/
- FastSpiSam3C.nc renamed as FtstSpiStmmC.nc
- [email protected]:~$ rename -n 'tr/Sam3/Stm32/' FastSpiSam3C.nc /*替換字元長,多出字元被忽略*/
- FastSpiSam3C.nc renamed as FtstSpiStm3C.nc
[ files ]引數介紹:支援萬用字元——三種
? 可替代單個字元* 可替代多個字元
[charset] 可替代charset集中的任意單個字元
使用萬用字元即可對所有符合條件的檔名進行批量修改。
例項 1 將所有*.nc檔案中Sam3替換成Stm32
- rename -v 's/Sam3/Stm32/' *.nc /*執行修改,並列出已重新命名的檔案*/
- rename 's/\.bak$//' *.bak
- rename 'y/A-Z/a-z/' *
- rename 's/[ ]+//g' *
- rename 's/^/jelline/' *
相關推薦
Ubuntu下重新命名檔案
在linux下修改檔案的名字有很多種方法,常用的有mv和rename。 一,mv mv fromfile tofile 如把檔案a.txt得命名為b.txt,可以是mv a.txt b.txt。 mv一次只能重新命名一個檔案,而且,它是移動命令。如果tofi
linux下批量重新命名檔案
假設資料夾Data裡有幾個資料資料夾, 每個資料資料夾內有多個數據檔案,該檔名稱格式為: 2014.143.20.49.21.0000.YN.BAS.00.BHE.M.SAC 現想要將這些檔名稱改為BAS.E.SAC, 即取原檔名的幾列重新命名,方法如下: #!/bin/bash #將資料檔
Linux下以當前日期重新命名檔案
[email protected]:/home/test/file_2# mv 1 `date "+%Y-%m-%d-%H:%M:%S"` [email protected]:/home/test/file_2# ls 1.c 2018-11-14-18:08:47
Windows下用指令碼批量重新命名檔案
1. 我的效果: 2. reference reference:https://blog.csdn.net/txz317/article/details/52326041 在Windows下可以用指令碼批量重新命名檔案,且可以將檔名按指定的字串格式命名,並按序號遞
Linux下Shell指令碼實現批量重新命名資料夾,批量重新命名檔案(讓原本繁重的工作變得簡單)
最近接了個專案,具體做什麼都不說了,其中有個工作就是批量更改資料夾,然後批量更改資料夾下的檔名字,一會兒先貼程式碼,再詳細解釋步驟。 下面是我的簡化版的目錄結構,實際上有上百個。 project dir1 dir1.py dir2
Windows下的通過命令列批量重新命名檔案
今天在工作時遇到了一個情況,通過高速掃描器掃描的檔案是以圖片的形式儲存到本地硬碟上的,但是掃描器給圖片命的名就很混亂,並不是我想要的。作為一個強迫症,於是就想到了手動把這些名字改過來。但是這一整個資料夾6、700張圖片,一個一個地F2去重新命名工作了也是蠻嚇人
Ubuntu用rename命令批量重新命名檔案
摘要: 本文介紹rename命令完成重新命名批量檔案語法,介紹了rename用到的Perl的替換和轉化形式,並給出常用正規表示式。最後給出幾個例項。 偶爾會遇到需要重新命名批量檔案,最典型的例子就是數碼相機的相片,在Ubuntu可以用工具Purrr或者PerfixSuffix實現該功能,但重新命名
如何在Debian和Ubuntu下重新打包Deb檔案
Copy from https://linux.cn/article-2428-1.html 有時候你在生活中會碰到這樣的問題,你想要修改.deb檔案的部分內容,然後重新打包。不過只有你真正深入瞭解計算機才能完成這樣的黑客技巧。 下面的例子是剛發生在我身上的真實經歷
windows xp 下 批量重新命名檔案
步驟: 首先,選中要重新命名的所有檔案。 然後,右擊第一個檔案選擇重新命名,例如重新命名為name.txt。 最後,回車那麼其餘檔案自動重新命名為name (1).txt,name (2).txt,name (3).txt......... 注意: @1、如果想讓第一
Linux 批量重新命名檔案的方法
1.使用rename命令 SYNOPSIS rename from to file... from 表示需要替換或者處理的字元,比如檔案的副檔名,檔名. to 表示對from處理之後的結果。 file 表示目標檔案。 [[email protected] tmp]# ls hello_10_201
hdfs複製資料到本地伺服器+本地伺服器複製資料到遠端伺服器+重新命名檔案
1. hdfs複製資料到本地伺服器 hdfs dfs -copyToLocal hdfs://IP地址:8020/user/使用者名稱/資料 /home/使用者名稱/ 這裡使用-copyToLocal 將hdfs資料複製到本地伺服器。 2. 從本地伺服器複製資料到遠端伺服器
如何在 Linux 中批量移動、複製、追加和重新命名檔案
你可能已經知道,我們使用 mv 命令在類 Unix 作業系統中重新命名或者移動檔案和目錄。 但是,mv 命令不支援一次重新命名多個檔案。 不用擔心。 在本教程中,我們將學習使用 Linux 中的 mmv 命令一次重新命名多個檔案。 此命令用於在類 Unix 作業系統中使用標準萬用字元批量移
Ubuntu下如何修改檔案或者資料夾的許可權
Ubuntu下如何修改檔案或者資料夾的許可權------chmod的親身測試 具體原理如下: Linux系統下如何修改文件及資料夾(含子資料夾)許可權,我們來看一下。 &nbs
ubuntu下將一個檔案複製到另一個資料夾複製出錯,原因是使用者對資料夾的許可權不夠
情況:在ubuntu系統下,想將一個檔案複製到/usr/local/etc/mini-ndn資料夾下,但是複製出錯,原因是使用者對這個資料夾的許可權不夠. 解決方法:提高使用者的許可權,使用以下程式碼 sudo chmod 777 /usr/local/etc/mini-ndn
python批量重新命名檔案
給三千多張圖片重新命名,只需如下幾行程式碼。cool import os path = "E:/memery/陪你一起成長/" # 獲取該目錄下所有檔案,存入列表中 f = os.listdir(pat
ubuntu 下查詢某個檔案的方法
1.whereis 檔案名 特點:快速,但是是模糊查詢,例如 找 #whereis mysql 它會把mysql,mysql.ini,mysql.*所在的目錄都找出來. 2.find / -name 檔案名或資料夾名 特點:準確,但速度慢,消耗資
ubuntu 下 Apache 相關 檔案/目錄/操作
1.Apache 相關 檔案/目錄 Web目錄 : /var/www 安裝目錄 : /etc/apache2 全域性配置 : /etc/apache2/apache2.conf 監聽埠 : /etc/apache2/ports.conf 虛擬主機 : /etc/ap
重新命名檔案之後,svn提交失敗 org.apache.subversion.javahl.ClientException
問題: Illegal target for the requested operation svn: Commit failed (details follow): org.apache.subversion.javahl.ClientException:
虛擬機器Ubuntu下搭建Samba檔案訪問伺服器
主機win10+VMware Workstation+ubuntu14.04 1.設定VMware Workstation虛擬機器網路為橋接聯網模式,確保win10與ubuntu14.04相互ping通 在Ubuntu14.04下Alt + Ctrl + T鍵開啟一個終端 執行
不能重新命名檔案及不能刪除檔案和資料夾許可權設定
資料夾-屬性-安全 給相應的使用者 把修改勾去即可 或者 資料夾-屬性-安全-高階-編輯 把刪除和刪除子資料夾及檔案勾去(兩個必須都勾去,勾一個效果一樣)即無法刪除這個資料夾下的檔案和子檔案了,起到保護檔案的作用. 如果許可權是灰色顯示說明被繼承了,勾去繼承即可。