婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用Bash Shell對目錄中的文件實現遞歸式拷貝

使用Bash Shell對目錄中的文件實現遞歸式拷貝

熱門標簽:地圖標注輻射圖案 聯通電話機器人怎么接 申請公司400電話要注意什么 寧波智能外呼系統公司 安裝外呼系統費用 曲阜400電話辦理 電銷機器人 劍魚 奧維互動地圖標注參數 衛星地圖標注地名

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

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

    項目需求示例圖如下:

實現
    項目需求有了,知道設計到遞歸,代碼就很好寫了。這里給出一個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不存在該目錄,則先創建目錄 
        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 

您可能感興趣的文章:
  • 使用bash shell刪除目錄中的特定文件的3種方法
  • 使用Bash Shell獲取文件名和目錄名的簡單方法
  • Shell腳本bash: ./t.sh:/bin/bash^M:損壞的解釋器: 沒有那個文件或目錄
  • 判斷文件是否存在的shell腳本代碼
  • Shell逐行讀取文件的4種方法
  • shell去掉文件中空行(空白行)的方法詳解
  • shell腳本中執行時提示“沒有那個文件或目錄”的解決辦法
  • shell按行讀取文件的3種方法
  • Shell腳本統計文件行數的8種方法
  • 使用Bash Shell檢查文件是否存在的方法

標簽:大興安嶺 安康 仙桃 三門峽 江西 上饒 大慶 遵義

巨人網絡通訊聲明:本文標題《使用Bash Shell對目錄中的文件實現遞歸式拷貝》,本文關鍵詞  使用,Bash,Shell,對,目錄,中的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Bash Shell對目錄中的文件實現遞歸式拷貝》相關的同類信息!
  • 本頁收集關于使用Bash Shell對目錄中的文件實現遞歸式拷貝的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 衡南县| 浙江省| 深水埗区| 锡林郭勒盟| 辽阳市| 雅安市| 郧西县| 红原县| 天峻县| 辽阳市| 丹阳市| 溧水县| 闸北区| 河间市| 鄂托克前旗| 扶绥县| 徐闻县| 修水县| 石林| 嘉荫县| 容城县| 淄博市| 桂平市| 舞阳县| 和政县| 黄石市| 乌审旗| 遂宁市| 洪湖市| 福海县| 安庆市| 舒兰市| 沅江市| 梧州市| 上饶县| 景泰县| 平凉市| 海原县| 林周县| 定州市| 孝义市|