91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-08-04 09:34:10 來源:億速云 閱讀:151 作者:chen 欄目:開發技術

本篇內容介紹了“如何使用Bash Shell對目錄中的文件實現遞歸式拷貝”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

    項目需求示例圖如下:

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

實現
    項目需求有了,知道設計到遞歸,代碼就很好寫了。這里給出一個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對目錄中的文件實現遞歸式拷貝”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭阳县| 白玉县| 噶尔县| 安陆市| 南京市| 崇义县| 平陆县| 南陵县| 龙游县| 房产| 察雅县| 夏邑县| 浑源县| 宾阳县| 长岭县| 新沂市| 台山市| 宁蒗| 浑源县| 宿迁市| 昌宁县| 河曲县| 资溪县| 辉南县| 浦东新区| 竹溪县| 龙胜| 凤城市| 玉溪市| 青铜峡市| 星座| 菏泽市| 北京市| 闸北区| 高邮市| 五大连池市| 洮南市| 邮箱| 宜黄县| 阿瓦提县| 仁化县|