欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Bash Shell對目錄中的文件實現(xiàn)遞歸式拷貝

 更新時間:2015年07月30日 09:58:16   作者:低調(diào)小一  
這篇文章主要介紹了使用Bash Shell對目錄中的文件實現(xiàn)遞歸式拷貝,適用于Ubuntu等Debian系的Linux系統(tǒng),需要的朋友可以參考下

前言
    今天工作中遇到了一個問題,如果將目錄A中的文件拷貝到目錄B中(前提目錄B沒有該文件),并保持文件在目錄A的結(jié)構(gòu)。項目重點如下:

    需要在目錄B中保持文件在目錄A中的結(jié)構(gòu)。假設(shè)A目錄文件 A/test/1.txt,轉(zhuǎn)移到目錄B中應(yīng)該是B/test/1.txt。同時還需要考慮目錄B中是否存在test目錄,多級目錄就要考慮遞歸了。(還好,bash shell里寫個目錄遞歸遍歷還是比較簡單的。)
    需要考慮A中文件是否在B中已經(jīng)存在同名文件,如果存在,則不需要拷貝。

    項目需求示例圖如下:

201573095548233.png (813×599)

實現(xiàn)
    項目需求有了,知道設(shè)計到遞歸,代碼就很好寫了。這里給出一個demo示例,供大家參考。

  

 #!/bin/bash 
   
  function recursive_copy_file() 
  { 
    dirlist=$(ls $1) 
    for name in ${dirlist[*]} 
    do 
      if [ -f $1/$name ]; then 
        # 如果是文件,并且$2不存在該文件,則直接copy 
        if [ ! -f $2/$name ]; then 
          cp $1/$name $2/$name 
        fi 
      elif [ -d $1/$name ]; then 
        # 如果是目錄,并且$2不存在該目錄,則先創(chuàng)建目錄 
        if [ ! -d $2/$name ]; then 
          mkdir -p $2/$name 
        fi 
        # 遞歸拷貝 
        recursive_copy_file $1/$name $2/$name 
      fi 
    done 
  } 
   
  source_dir="/tmp/test/system" 
  dest_dir="/tmp/test/systemback" 
   
  recursive_copy_file $source_dir $dest_dir 

相關(guān)文章

  • 淺析linux下如何用腳本自動發(fā)送文本mail郵件

    淺析linux下如何用腳本自動發(fā)送文本mail郵件

    這篇文章主要是介紹如何linux下通過腳本自動發(fā)送文本mail郵件,特分享下,方便需要的朋友
    2013-05-05
  • bash 循環(huán)中變量作用范圍的問題分析

    bash 循環(huán)中變量作用范圍的問題分析

    大家在bash編寫中,經(jīng)常需要用到循環(huán),但循環(huán)中變量作用范圍的問題有些朋友不是很懂,這里簡單分享下,方便需要的朋友
    2013-01-01
  • 淺談shell循環(huán)中變量的作用域問題

    淺談shell循環(huán)中變量的作用域問題

    今天小編就為大家分享一篇淺談shell循環(huán)中變量的作用域問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Shell雙引號和單引號有哪些不同

    Shell雙引號和單引號有哪些不同

    這篇文章主要介紹了Shell雙引號和單引號有哪些不同,幫助大家區(qū)分shell雙引號和單引號,感興趣的朋友可以了解下
    2020-08-08
  • linux數(shù)據(jù)庫備份并通過ftp上傳腳本分享

    linux數(shù)據(jù)庫備份并通過ftp上傳腳本分享

    這篇文章主要介紹了linux數(shù)據(jù)庫備份并通過ftp上傳腳本,腳本還可以備份網(wǎng)站,需要的朋友可以參考下
    2014-03-03
  • 詳解shell中腳本參數(shù)傳遞的兩種方式

    詳解shell中腳本參數(shù)傳遞的兩種方式

    這篇文章主要介紹了詳解shell中腳本參數(shù)傳遞的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • shell?判斷語句腳本用法解析

    shell?判斷語句腳本用法解析

    這篇文章主要為大家介紹了shell判斷語句腳本用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 關(guān)于ssh連不上問題的解決方法(必看)

    關(guān)于ssh連不上問題的解決方法(必看)

    下面小編就為大家?guī)硪黄P(guān)于ssh連不上問題的解決方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 獲取站點的各類響應(yīng)時間(dns解析時間,響應(yīng)時間,傳輸時間)

    獲取站點的各類響應(yīng)時間(dns解析時間,響應(yīng)時間,傳輸時間)

    有時候為了測試網(wǎng)絡(luò)情況,需要返回每個階段的耗時時間,比如DNS解析耗時,建立連接所消耗的時間,從建立連接到準備傳輸所使用的時間,從建立連接到傳輸開始所使用的時間,整個過程耗時,下載的數(shù)據(jù)量,下載速度,上傳數(shù)據(jù)量,上傳速度等等
    2014-03-03
  • Linux中Shell腳本判斷文件/文件夾是否存在方法

    Linux中Shell腳本判斷文件/文件夾是否存在方法

    很多時候我們在做運維的時候,我們需要做一些自動化,這時我們就需要寫一些shell腳本,既然要用到shell腳本,就免不了文件操作,這篇文章主要給大家介紹了關(guān)于Linux中Shell腳本判斷文件/文件夾是否存在的相關(guān)資料,需要的朋友可以參考下
    2023-06-06

最新評論