自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

修改Unix文件的擴展名

系統(tǒng) 其他OS
我們知道要實現批量更改Unix文件擴展名的話,則可以借助for等循環(huán)語句來實現。不過循環(huán)語句內部的操作有兩種實現方式。

今天,我們要來學習下修改Unix文件的擴展名的知識。如現在操作系統(tǒng)中某個目錄下面有很多的sh文件(Unix系統(tǒng)中的配置文件,其實跟txt相同)?,F在系統(tǒng)工程師需要將這些sh文件的擴展名改掉,全部改為txt。雖然可以通過一個個的手工修改來實現,但是處理起來的難度比較大。

如果要實現批量更改Unix文件擴展名的話,則可以借助for等循環(huán)語句來實現。不過循環(huán)語句內部的操作有兩種實現方式。一是采用expr命令。其實對Unix文件名進行操作,說到底就是對字符串的操作。

因為Unix文件名字也是一種字符串。如系統(tǒng)工程師可以先利用expr命令截取字符串的功能,將擴展名前面的字符串截取出來,然后將其保存在一個變量中,如filenameshort。然后再利用系統(tǒng)的重命名或者移動文件的命令,對系統(tǒng)進行重命名,如$filenameshortdoc。

這就可以實現更改擴展名的需求。不過筆者并不建議采用這個expr命令來完成這個需求。因為當Unix文件名的長度不固定時,這個正則表達式比價難寫。要將文件名字符串截取出來(去掉擴展名的名字),有一定的難度。

在這里,筆者介紹另外一個命令basename命令。其實這也是一個字符串相關的處理命令。其基本格式為basename text1 text2。他的基本功能就是從第一個字符串中去掉第二個字符串的內容。

如執(zhí)行命令basename setup.sh sh,則就表示將setup.sh這個字符串中的sh字符串去掉,變?yōu)閟etup.。那么此就可以利用這個命令來進行成批修改擴展名。其具體的實現方式跟上面類似。

只是在截取Unix文件名字符串的時候,采用了basename命令,而不是expr命令。而basename命令本身就帶有截取字符串的功能,不需要采用正則表達式。所以實現起來相對簡單一點。

從這個案例中,筆者也想再次強調一下一個字符串處理的基本原則。即無論是截取字符串還是對字符串進行的其他操作,如果可以通過系統(tǒng)命令+可選項參數來實現的,就采用這種實現方式。

如果沒有的話,需要考慮能否采用basename等不需要正則表達式的命令來實現。只有在以上兩種方式都不可行的情況下,才考慮使用exper命令來實現。這主要是因為正則表達式的設計實在比較麻煩,雖然其功能比較強大。

利用exper來統(tǒng)計一下字符串的長度還好,但是如果要實現一些復雜功能,如截取字符串或者確定字符的位置,就需要系統(tǒng)工程師有比較深厚的功底了。關于Unix文件的知識,我們就講解到這里了。

【編輯推薦】

  1. IRIX系統(tǒng)全面知識講解
  2. IRIX用戶環(huán)境知識講解
  3. IRIX操作系統(tǒng)用戶帳戶管理講解
  4. 探析Unix口令破解原理
  5. Unix函數庫中CrackLib原理及應用
責任編輯:小霞
相關推薦

2009-10-21 10:13:19

Linux文件擴展名

2011-05-24 13:26:37

數據庫安全

2009-08-25 09:26:57

Windows 7查看文件擴展名

2022-11-02 08:20:43

Linux

2017-03-21 10:11:36

Windows 10Windows文件擴展名

2010-05-21 14:09:41

2021-11-16 08:04:05

Centos8擴展名文件

2009-06-29 09:57:05

Unix

2009-10-29 14:50:22

VB.NET擴展名分組

2011-12-09 13:26:32

2010-05-10 19:03:00

Unix文件

2018-03-28 17:51:24

LinuxUnix

2011-08-12 11:15:27

gzip中文man

2018-03-15 09:13:43

MySQL存儲引擎

2009-11-02 11:13:06

VB.NET讀寫文件

2010-05-05 16:36:24

Unix系統(tǒng)

2010-04-30 11:22:23

Unix系統(tǒng)

2010-04-30 18:25:25

Unix刪除

2010-04-13 14:19:51

Unix文件

2010-04-29 16:15:26

Unix文件
點贊
收藏

51CTO技術棧公眾號