久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux上無痛文件提取的示例分析

157次閱讀
沒有評論

共計 2234 個字符,預計需要花費 6 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 Linux 上無痛文件提取的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

它們有很多格式,從 .gz 到  .tbz2,這些文件的命名方式都各有一些不同。當然,你可以記住所有從存檔中提取文件的各種命令以及它們的選項,但是你也可以將所有經驗保存到腳本中,而不再擔心細節。

在本文中,我們將一系列提取命令組合成一個腳本,它會調用適當的命令根據文檔名提取文件的內容。該腳本首先以一些命令來驗證是否已經提供了一個文件名作為參數,或要求運行腳本的人提供文件名。

#!/bin/bash if [ $# -eq 0 ]; then echo -n  filename    read filename else filename=$1 fi if [ ! -f  $filename  ]; then echo  No such file: $filename  exit $? fi

了解了么? 如果未提供任何參數,腳本將提示輸入文件名,如果存在則使用它。然后,它驗證文件是否實際存在。如果不是,那么腳本退出。

下一步是使用 bash 的 case 語句根據存檔文件的名稱調用適當的提取命令。對于其中某些文件類型(例如 .bz2),也可以使用除 tar   之外的其它命令,但是對于每種文件命名約定,我們僅包含一個提取命令。因此,這是帶有各種存檔文件名的 case 語句:

 case $filename in *.tar) tar xf $filename;; *.tar.bz2) tar xjf $filename;; *.tbz) tar xjf $filename;; *.tbz2) tar xjf $filename;; *.tgz) tar xzf $filename;; *.tar.gz) tar xzf $filename;; *.gz) gunzip $filename;; *.bz2) bunzip2 $filename;; *.zip) unzip $filename;; *.Z) uncompress $filename;; *) echo  No extract option for $filename  esac

如果提供給腳本的文件擴展名與腳本已知的擴展名都不匹配,那么會發出“No extract option for $filename”  的消息。如果缺少你使用的任何存檔類型,只需將它們與所需的提取命令一起添加即可。

將 bash 頭添加到腳本頂部,使其可執行,然后就可以開始了。

#!/bin/bash if [ $# -eq 0 ]; then echo -n  filename    read filename else filename=$1 fi if [ ! -f  $filename  ]; then echo  No such file: $filename  exit $? fi case $filename in *.tar) tar xf $filename;; *.tar.bz2) tar xjf $filename;; *.tbz) tar xjf $filename;; *.tbz2) tar xjf $filename;; *.tgz) tar xzf $filename;; *.tar.gz) tar xzf $filename;; *.gz) gunzip $filename;; *.bz2) bunzip2 $filename;; *.zip) unzip $filename;; *.Z) uncompress $filename;; *.rar) rar x $filename ;; *)

如果你希望腳本在提取文件時顯示內容,請將詳細選項 (-v) 添加到每個命令參數字符串中:

#!/bin/bash if [ $# -eq 0 ]; then echo -n  filename    read filename else filename=$1 fi if [ ! -f  $filename  ]; then echo  No such file: $filename  exit $? fi case $filename in *.tar) tar xvf $filename;; *.tar.bz2) tar xvjf $filename;; *.tbz) tar xvjf $filename;; *.tbz2) tar xvjf $filename;; *.tgz) tar xvzf $filename;; *.tar.gz) tar xvzf $filename;; *.gz) gunzip -v $filename;; *.bz2) bunzip2 -v $filename;; *.zip) unzip -v $filename;; *.Z) uncompress -v $filename;; *) echo  No extract option for $filename  esac

以上是“Linux 上無痛文件提取的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-02-04發表,共計2234字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 余庆县| 会理县| 云霄县| 沐川县| 社旗县| 普陀区| 临邑县| 垫江县| 彭州市| 班戈县| 临城县| 定州市| 平泉县| 连山| 永胜县| 遂溪县| 高青县| 博客| 西昌市| 江阴市| 华宁县| 郓城县| 岳普湖县| 永德县| 阿拉善盟| 防城港市| 长岛县| 三原县| 兰西县| 隆回县| 和田县| 辽阳县| 祁门县| 湘乡市| 旺苍县| 云南省| 五指山市| 措美县| 安顺市| 遂溪县| 招远市|